win+linux雙系統下修復grub

1

先安裝Win,再安裝Linux,則在安裝完Linux後會直接進入Linux系統,進入系統後執行:

#sudo updata-grub

更新grub,讓其找到winbootloader,重啓,在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

這樣就能啓動系統了。
參考大神

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章