win+linux雙系統下修復grub
阿新 • • 發佈:2018-12-15
1
先安裝Win
,再安裝Linux
,則在安裝完Linux
後會直接進入Linux
系統,進入系統後執行:
#sudo updata-grub
更新grub
,讓其找到win
的bootloader
,重啟,在grub
介面即可看到進入win
的選項。
2
先安裝了Linux
,再安裝的win
。此時,硬碟的MBR
裡面之前的grub
引導記錄被覆蓋,需要重新將grub
資訊寫入MBR
中。由於磁碟中已有Linux
系統,只需將該系統中grub
資訊寫進MBR
即可。方法如下:製作一個Linux
系統的LiveCD
,普通的U
盤安裝啟動檔案即可,進入到LiveCD
,將當前系統中已有的Linux
系統所在的磁碟掛載至/media/linux
#sudo mount /dev/sdaN /media/linux
注意N
為你當前系統中linux
所在的位置。然後執行如下指令:
#sudo grub-install --root-directory=/media/ubuntu /dev/sda
即可將相應GRUB
資訊寫入當前硬碟的MBR
中。重啟,即可進入GRUB
引導介面。
3
原雙系統使用GRUB
引導,但是在Win
下格式化了Linux
所在分割槽,造成啟動引導失敗。此時由於MBR
中仍然存在GRUB
的相關資訊,會進入GRUB RESCUE
介面。由於此時核心檔案已經不再分割槽內,故不能有RESCUE
介面進入Normal
介面。此時可用Win
安裝盤修復Win
Win
啟動引導資訊寫入MBR
,覆蓋原有的GRUB
資訊。方法如下:找一個Win
安裝檔案(如U盤安裝檔案)啟動進入修復介面,進入命令列,輸入:
>bootrec/fixmbr
重啟即可。
4
Grub Rescue
處理方式:rescue
模式下可使用的命令有:set, ls, insmod, root, prefix
;若GRUB
的核心檔案在(hd0,8)
分割槽,則進入normal
模式的步驟如下:
>root=(hd0,8) >prefix=/boot/grub >set root=(hd0,8) >set prefix=(hd0,8)/boot/grub >insmod normal >normal >linux /boot/vmlinuz-xxx-xxx root=/dev/sda8 >initrd /boot/initrd.img-xxx-xxx >boot
這樣就能啟動系統了。 參考大神