電腦是XP和AS4的抄雙系統,用AS4的GRUB引導,昨天在XP下誤刪了1G的SWAP分區,導致開機進入GRUB命令提示符,用命令可以進入XP,用分區工具重新創建SWAP分區後還是無法進入Linux。難倒要重裝Linux?這種情況下應該是你的啟動分區在swap之後,造成swap被刪後,分區id改變 。 你可以在grub shell下重新指定啟動分區。
假如linux安裝分區/dev/hda6
你輸入 root (hd0, grubinstall重裝下grub swap 刪了,應該跟grub 沒什麼關系吧!我是這樣想的!用livecd 進去後,修改 /etc/fstab文件應該就可以了!我是菜鳥,不要見笑! grubinstall重裝下grub
後按tab鍵,就可以看到當前的分區信息,根據列出的分區信息補上你現在實際根分區id就可以
❷ 如何用grub裝linux
如果你想在g盤裝linux那麼你要先刪除g盤,因為linux的文件系統和windows的不同,windows是不認linux的文件系統的,但反過來可以。如果你是新裝linux的話不用去管grub的安裝。因為在系統安裝是他會給你裝的。但是如果你是先裝了linux在裝windows的話,你需要重寫grub才可以引導linux具體步驟是:
1.把第一張安裝光碟放進光碟機,進入引導界面後按F5,然後打linux rescue
2.進入單用戶模式後,打chroot /mnt/sysimge
3.打命令grub-install -/dev/hda
註:/dev/hda這里是硬碟名稱,就是第幾塊硬碟的意思,如果你就一塊硬碟就按這個命令打就可以
linux的版本也很多,redhat最新的版本是FC5,redhat已經宣布redhat9.0已經停止升級服務了,建議你用FC5,另外SUSE10.1也不錯,對於初學者的話,最好用這兩個之一。
❸ 電腦只安裝Linux系統,安裝的時候出現了grub安裝失敗的界面,為什麼那個系統是Gmac os
步驟如下:
a 進入grub的命令模式。進入grub界面後按C鍵進入命令行界面。
b 先熟悉一下grub 的一些命令 grub>help
c 熟悉一下cat命令
d root指令來指定/boot所在的分區
e kernel指令來指定linux的內核,及所在的分區
f 用initrd命令來指定initrd文件
g boot引導系統
cat命令的用法
cat指令是用來查看文件內容的,有時不知道Linux的/boot分區,以及/根分區所在的位置,要查看/etc/fstab的內容來得知, 這時,就要用到cat (hd[0-n],y)/etc/fstab 來獲得這些內容;注意要學會用tab鍵命令補齊的功能;
grub> cat ( 按tab 鍵會出來hd0或hd1之類的;
grub> cat (hd0, 註:輸入hd0,然後再按tab鍵;會出來分區之類的;
grub> cat (hd0,6)
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is fat, partition type 0xb
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
Partition num: 7, Filesystem type unknown, partition type 0x83
Partition num: 8, Filesystem type is reiserfs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82
grub> cat (hd0,6)/etc/fstab 註:比如我想查看一下 (hd0,6)/etc/fstab的內容就這樣輸入;
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,
managed 0 0
主要查看/etc/fstab中的內容,主要是Linux的/分區及/boot是否是獨立的分區;如果沒有/boot類似的行,證明/boot和 Linux的/處於同一個硬碟分區;比如上面的例子中LABEL=/ 這行是極為重要的;說明Linux系統就安在標簽為LABEL=/的分區中;
如果您的Linux系統/boot和/沒有位於同一個分區,可能cat (hd[a-n],y) 查到的是類似下面的;
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
root (hd[0-n,y) 指令來指定/boot所在的分區;
其實這個root (hd[0,n],y)是可以省略的,如果省略了,要在kerenl 命令中指定;前面已經說過 (hd[0-n],y)硬碟分區的表示方法的用途;主要是用來指定 /boot所在的分區;
eg:
grub> root (hd0,0)
kernel 指令,用來指定Linux的內核,及/所在的分區;
kernel 這個指令可能初學者有點怕,不知道內核在哪個分區,及內核文件名的全稱是什麼。不要忘記tab鍵的命令補齊的應用;
如果已經通過root (hd[0-n],y) 指定了/boot所在的分區,語法有兩個:
如果/boot和Linux的/位於同一個分區,應該是下面的一種格式;
kernel /boot/vmlinuz在這里按tab鍵來補齊,就看到內核全稱了 ro root=/dev/hd[a-z]X
如果/boot有自己獨立的分區,應該是;
kernel /vmlinuz在這里按tab鍵來補齊,就看到內核全稱了 ro root=/dev/hd[a-z]X
在這里 root=/dev/hd[a-z]X 是Linux 的/根所位於的分區,如果不知道是哪個分區,就用tab出來的來計算,一個一個的嘗試;或用cat (hd[0-n],y)/etc/fstab 中得到Linux的/所在的分區或分區的標簽;
grub> kernel /boot/在這里按tab鍵;這樣就列出/boot中的文件了;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369
_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55
.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
註解: root=LABEL=/ 是Linux的/所在的分區的文件系統的標簽;如果您知道Linux的/在哪個具體的分區,用root=/dev/hd[a-z]X來指定也行。比如下面的一行也是可以的;
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
也可以把/boot所在的分區的指定 root (hd[0-n],y)這行省掉,直接在kernel 中指定/boot所在的分區;所以就在下面的語法;
如果是/boot和Linux的根同處一個分區;
kernel (hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X
比如:
grub>kernel
如果是/boot和Linux所在的根不在一個分區;則是;
kernel (hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
[Linux-bzImage, setup=0x1e00, size=0x18e473]
或下面的輸入,以cat 出/etc/fstab內容為准;
grub> kernel (hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
initrd 命令行來指定initrd文件;
grub> initrd /boot/initrd在這里tab 來補齊;
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
如果/boot是獨立的一個分區,應該是如下樣子的語法;比如下面的;
grub> initrd /initrd在這里tab 來補齊;
grub> initrd /initrd-2.6.11-1.1369_FC4.img
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
boot 引導系統;
grub>boot
下面是在我機器上的命令:
grub> cat (hd0,0)/etc/fstab
# This file is edited by fstab-sync - see 'man fstab-sync' for details
LABEL=/ / ext3 defaults 1 1
/dev/devpts /dev/pts devpts gid=5,mode=620 0 0
/dev/shm /dev/shm tmpfs defaults 0 0
/dev/proc /proc proc defaults 0 0
/dev/sys /sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel /boot/在這里按tab補齊,全列出/boot所有的文件;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4
memtest86+-1.55.1 xen-syms xen.gz
grub> kernel /boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
grub> initrd /boot/在這里按tab補齊
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK
memtest86+-1.55.1 xen-syms xen.gz
grub> initrd /boot/initrd-2.6.11-1.1369_FC4.img 注;輸入intrd文件名的全名;
[Linux-initrd @ 0x2e1000, 0x10e685 bytes]
grub> boot
❹ linux debian6.0系統怎麼安裝grub
新立得里搜索grub,或者終端輸入:sudo apt-get install grub-pc grub2-common,安裝。
然後終端輸入:sudo grub-install /dev/sdX
將grub安裝到sdX(替換為你自己的硬碟設備名,如sda、sdb)硬碟mbr;
然後,生成引導配置文件:sudo grub-mkconfig -o /boot/grub/grub.cfg
提示: 要搜索硬碟上安裝的其它操作系統,請先安裝os-prober。
❺ 怎樣修復Linux系統引導
修復Linux操作系統的來GRUB方法如下:
自1.首先我們從BIOS里把啟動順序改為從CD-ROM啟動,放入LINUX的第一張盤
2.在重啟後,在boot:提示符下輸入linuxrescue然後回車
3.接著就會提示選擇滑鼠和鍵盤,一般選擇系統默認的即可;還有是不是從網路啟動,一般不用從網路啟動。
4.以上的步驟大家按提示操作即可,不要作什麼改動
5.這樣,在進入命令提示界面後鍵入:grub-install/dev/hda後回車進行安裝MRB
6.安裝完後重起就可以正常啟動了!
❻ linux系統管理之grub引導
什麼是GRUB
GNU GRUB 是一個多重操作 系統 啟動管理器。GNU GRUB 是由GRUB(GRand Unified Bootloader) 派生而來。GRUB 最初由Erich Stefan Boleyn 設計和應用;
系統啟動引導管理器,是在計算機啟動後運行的第一個程序,他是用來負責載入、傳輸控制到操作系統的內核,一旦把內核掛載,系統引導管理器的任務就算完成退出,系統引導的其它部份,比如系統的初始化及啟動過程則完全由內核來控制完成;
Linux 中GRUB的配置文件
grub的配置文件位於/boot/grub/grub.conf其內容如下。
default=0 //默認啟動的內核或者說默認啟動的操作系統,0表示的是第一個內核或者操作系統,依次往後排(title所指定的那一項,第一個title是0,第二個是1,依次)
timeout=5 //默認的超時時間,這里定義的是5秒,如果5秒沒有選擇,默認啟動第一個內核或者說是第一個操作系統
splashimage=(hd0,0)/grub/splash.xpm.gz //指定grub的背景圖片,因為grub是系統開機後,運行系統所必須運行的第一個程序,所以,系統所自帶的文件系統還沒有被掛載,好在grub可以直接訪問磁碟文件,grub所識別的硬碟跟linux系統的不太一樣,grub認為,所有的磁碟都是hd的,而系統則不是。所以這里是(hd0,0),第一個0表示的是第一塊硬碟,第二個0表示的是第一個分區。如果要引用磁碟設備,要用括弧括起來,所以這里有一個括弧。
hiddenmenu //隱藏grub菜單,如果有這一項,我們將看不到grub的菜單,只能看到grub的背景圖片,然後上面出現了一個 please any key to enter the menu 下面是 Booting <default=0指定的,默認是第一個title的內容> in <timeout=N 超時時間設置>... 這樣子。具體的看下面的圖
![]( http://upload-images.jianshu.io/upload_images/4958474-d753926ca3df5492.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
然後可以通過按任意鍵,進入grub的菜單。如果有多個內核的話,我們可以選擇啟動哪一個內核。下圖是grub的菜單
![]( http://upload-images.jianshu.io/upload_images/4958474-3b21dfedd7290e30.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
下面的英文內容,相信大家也看得懂。我就不多說了。通過編輯這里的grub菜單,我們可以直接進入單用戶模式,然後修改密碼。忘記密碼的時候,可以試下這個方法。
title Red Hat Enterprise Linux Server (2.6.18-164.el5) //這就是一個標題,就是Grub菜單上所顯示的內容,title關鍵字後面的內核,可以隨便寫,為了方便識別,建議還是寫一些可以從字面意義看出是什麼操作系統或者內核的文字描述。
root (hd0,0) //把hd0,0設置為根目錄,方便訪問.設置文件訪問的起始點,這里設置的根,是grub的根。
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet //指定內核文件,在內核後面跟的root,指的是操作系統的根目錄在哪兒. rhgb是redhat的一個小工具,顯示各種輸出的信息,包括硬體的初始化,quit表示是靜默模式,不輸出信息.啟動系統的時候會卡一下,然後出現redhat就是因為沒有顯示rhgb小程序的輸出信息.
initrd /initrd-2.6.18-164.el5.img //可以認為這是一個驅動程序,系統剛開機的時候,Grub第一個啟動,要掛載文件系統,就要從文件系統裡面讀取驅動,如果驅動在內核裡面還好,如果不在內核裡面了,那不就……所以,這個可以認為是一個驅動。其實,他是一個微小的linux系統,這個系統裡面,只包含了驅動程序,沒有其它文件。可以先把它重命令為.gz的,然後解壓,解壓後再用cpio解壓,就可以看到其內容了。目錄結構跟你的linux系統是一樣的,只不過沒有文件,只有驅動程序而已。
剛才說過,可以直接通過這里改密碼,這樣是很不安全的。也就是說,如果別人能接觸到我們的物理伺服器,他就可以直接更改我們系統的密碼,所以,我們可以給grub 加密 碼,加密碼的方法就是直接在grub.conf中指定,可以用關鍵字password 後面跟密碼來實現,但是這樣的密碼是明文的,也不安全,所以我們可以用password --md5 通過grub的md5加密工具來加密,然後寫到password --md5的後面。grub的md5加密工具是grub-md5-crypt ,直接使用這個命令,輸出密碼,然後會生成一段MD5加密後的值,寫到關鍵字後面就可以實現md5加密grub了。
寫的位置的不同,加密的效果也就不一樣,我們可以寫到一個title裡面,只對指定的內核或者說操作系統來加密,當啟動該內核或者系統的時候,會要求用戶輸入grub的密碼。當寫在所有的title外面的時候,編譯grub菜單的時候,會要求輸入密碼,這時候密碼先按p鍵輸入密碼,然後再按e鍵,才能編輯。
手動安裝GRUB
安裝grub有兩種方法可以使用。下面進入詳細的介紹,如果某些地方說的不太准確,希望大家能夠提出,TKS
第一
可以使用grub-install命令來進行安裝,具體方法是
grub-install --root-directory=/要安裝到哪個目錄 /要安裝的設備
例:我這里用 虛擬機 演示一下,新加了一塊磁碟,然後分區格式化(該操作不演示),然後掛載,然後用命令安裝,如下圖
x
注意:這里掛載點一定是boot目錄,可以不是/mnt,但最後掛載的目錄名字,一字叫boot,不然會出問題的。還有安裝的時候--root-directory=一定不要指定到boot目錄,要指定到boot所在的目錄,因為grub安裝的時候,會去找boot目錄,如果找不到,會報錯的。當我們把盤掛載到boot之後,可以認為,該盤的名字就叫boot,所以,它會在該盤內寫入bootloader,以引導系統,如果我們安裝的時候指定到了boot,那麼就是把bootloader的內容寫到了文件裡面,而不是硬碟的MBR。切記切記。我做了好多次都沒做出來,就是犯了這個錯。
安裝完成後,我們新建一個虛擬機,創建磁碟的時候,使用已有磁碟,找到我們安裝過grub的磁碟,然後使用之即可。開機之後,會驚喜的發現,出現了grub的提示符。
![]( http://upload-images.jianshu.io/upload_images/4958474-a6b446eee903d400.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
第二種方法(有點兒麻煩):
首先把 /usr/share/grub/i386-redhat/里的所有文件,拷貝到grub目錄
注意:這里同上,一定要掛載到boot目錄下,無論boot目錄在哪
![]( http://upload-images.jianshu.io/upload_images/4958474-5bc61b8664d71e60.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
然後開始grub的安裝,直接使用命令grub
![]( http://upload-images.jianshu.io/upload_images/4958474-83d9432c7ef95f52.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240 )
root (hd2,0) 表示grub要安裝到第三塊硬碟第1個分區上
setup (hd2) 指定要安裝的設備,設備為第二塊硬碟,安裝完成後quit命令退出就可以了,至於圖片,我就不上了,絕對是可以的。
❼ win7下安裝Linux ubuntu後,如何將grub引導改為win7自帶的引導界面
重做系統就會將grub引導菜單給覆蓋掉(強烈鄙視下霸道的微軟),我可不想重做辛苦配置的ubuntu,於是做之前先網路了下grub修復方法,以防萬一。
以下是主要提及的方法:
1.sudo -i(or sudo bash) //切換到root許可權
2, fdisk -l //看下Ubuntu的分區在哪裡 ,看起來似乎是下面那樣的,(83)
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2432 19535008+ c W95 FAT32 (LBA)
/dev/sda2 2433 19457 136753282 f W95 Ext'd (LBA)
/dev/sda5 2433 7296 39070048+ b W95 FAT32
/dev/sda6 7297 12395 40957686 7 HPFS/NTFS
/dev/sda7 12396 15435 24414062+ 83 Linux
/dev/sda8 15435 15739 2440192 82 Linux swap
/dev/sda9 15739 19163 27507712 83 Linux
3, mount /dev/sda9 /mnt //掛在原系統的根目錄
4, grub-install --root-directory=/mnt/ /dev/sda
看到 Installation finished.No Error Reported. 就成功了
有了方法在手就放心大膽的重新安裝win7了,做好win7,刻錄U盤livecd,一切按部就班,重啟後結果還是悲劇的grub命令行而不是什麼熟悉的grub啟動菜單!我暈,不知道是不是網上方法錯誤,我試了幾次還是沒能解決。沒辦法只好另想辦法了...
我用livecd進入系統,找到ubuntu系統的引導文件grub.cfg,記下我系統主要的啟動信息:
root='(hd0,7)'、linux /boot/vmlinuz-2.6.32-24-generic、initrd /boot/initrd.img-2.6.32-24-generic,
決定試試看在grub命令行下進行引導;
重啟後在grub命令行下輸入:
1.grub>root (hd0,6) //輸入root (hd0,按tab可以查看linux所在分區
2.grub>kernel (hd0,6)/boot/vmlinuz-2.6.32-24-generic root=/dev/sda7
//文件名可按tab補全,sda7就是(hd0,6)
3.grub>initrd /boot/initrd.img-2.6.32-24-generic //按tab可補全
4.grub>boot
懷著忐忑的心情,終於看到grub在引導了,一會熟悉的ubuntu界面回來了!進入以後再更新下grub就可以啦;
1.打開終端,
2.sudo -i,
3.update-grub,