問題是這樣的,一開始裝了一個固態硬盤,然后就把Linux裝在機械硬盤里了。
但是之后問題是沒有出現引導界面,直接就是進入了Windows10.
十分悲催啊。
然后網上各種搜,改BIOS設置的啟動。
修改之后是:
launch CSM Enable
launch PXE OpROM Enable
但是開機之后發現引導是有了,(但是發現進不了Windows了,引導里就只有Linux)
也就是Linux的引導好了,但是Windows的引導又崩了。
於是又是一波百度,最終找到了一個比較靠普的解決方案,方案如下:
首先打開shell 進入bash 輸入命令 sudo update - grub 然后回車。
你會發現有這么一句話Found Windows 8 (loader) on /dev/sda6,但是此時候還是不要高興的太早。
重啟計算機。如果出現了Windows的引導,那么你就成功了,但是如果沒有出來,不急,請看下面。
-
- 如果有童鞋跟作者一樣
不走運的話,會遇到即使update-grub成功識別了你分區中的windows loader而且重啟計算機后在grub列表里也確實有windows選項,但點進去后仍然不
會引導windows系統,而只是黑屏一個光標不停地閃。這就很尷尬了。。。
- 但同志們不要怕!作者已經幫你們趟出一條路了!那就是:修改
grub.cfg!(圍觀群眾毫不吃驚臉…) - 作者猜想,可能經過PE的修復,grub已經可以識別出windows的引導器了,然而由於是人工修復的windows引導,所有默認生成的
grub.cfg中的代碼並不能使grub准確找到windows loader,所以當我們選中grub列表中的windows選項后才仍然不能引導系統。 - 我們只需進入已經可以引導的ubuntu系統,喚出終端,輸入
sudo su回車,獲取ROOT權限。 - 之后輸入
gedit /boot/grub/grub.cfg回車,以打開grub.cfg。作者用的是gedit編輯器,如果讀者平時都是用vim那么就輸入vim /boot/grub/grub.cfg,使用什么編輯器都可以,然后我們找到cfg文件中關於windows的部分,作者的看起來像這樣:
- 如果有童鞋跟作者一樣
menuentry 'Windows 8 (loader) (on /dev/sda6)' --class windows --class os $menuentry_id_option 'osprober-chain-9C28EFB228EF899A' {
insmod part-msdos
insmod ntfs
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 9C28EFB228EF899A
else
search --no-floppy --fs-uuid --set=root 9C28EFB228EF899A
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}
這一大坨是個什么玩意?反正這么寫引導不了,那就改!
好在grub是個十分強大的工具,最后作者決定使用search命令修改以上片段。
如下:
menuentry 'Windows 8 (loader) (on /dev/sda6)' --class windows --class os $menuentry_id_option 'osprober-chain-9C28EFB228EF899A' {
insmod ntfs
insmod ntldr
set root='hd0,msdos6'
search --set -f /bootmgr
ntldr /bootmgr
}
建議在此之前將文件備份一下,以防萬一。
參考博客:http://blog.csdn.net/s_gy_zetrov/article/details/51958484
