加固態(tài)的時候,把windows完全安裝在了固態(tài)上,然后就把原來的C盤直接格式化,連帶著舊的引導(dǎo)分區(qū)都給格式化沒了,后來就沒法啟動Ubuntu。 要恢復(fù)引導(dǎo),不是簡單的修復(fù),從ESP分區(qū)里鏈接上ubuntu的efi啟動就行,必須得重建ubuntu的ESP引導(dǎo)。實際環(huán)境是: ESP分區(qū):
| - EFI/ - boot/ //efi啟動文件 - Microsoft/ //各種字體圖標(biāo)的資源文件和boot內(nèi)的啟動efi文件 - (ubuntu/) //現(xiàn)在是沒有的,目標(biāo)是生成這個文件夾,只要有這個文件夾就一切好辦
|
可以看到根本沒有ubuntu的引導(dǎo)文件,所以網(wǎng)上說的refind,easyUEFI等等是不行的。
要重建ubuntu的引導(dǎo)分區(qū),那么就得先進(jìn)入ubuntu,然后利用ubuntu自己的系統(tǒng)來重建。 grub命令進(jìn)入ubuntu但正是苦于沒有引導(dǎo)進(jìn)不去ubuntu,所以就需要手動慢慢的來找到入口,怎么找,用grub。 可以直接做一個grub的U盤,也可以把ubuntu的iso刻錄到U盤里,利用其自帶的grub來進(jìn)行。以ubuntu的U盤鏡像為例。 選擇U盤啟動,進(jìn)入后按C進(jìn)入grub的命令行。 先用ls看下自己的硬盤結(jié)構(gòu),找到自己的ubuntu分區(qū),如果不確定的話可以用cat命令的補(bǔ)全來查看. 我因為加了固態(tài),所以有hd0,hd1,和hd2.先根據(jù)分區(qū)數(shù)量確定了hd2是機(jī)械盤,然后用
的補(bǔ)全,發(fā)現(xiàn)msdos9的格式是ext*,所以就確定了msdos9是我的ubuntu主分區(qū). 接著,就可以設(shè)置根文件夾了. | set root=(hd2,9) //指定/boot所在分區(qū)
|
然后執(zhí)行 | linux /boot/vmli... ro root=/dev/sdb9 //設(shè)定內(nèi)核和根分區(qū),這里有提示出2個版本,一個是36,一個34,我選擇了36. //sdb9的意思是我硬盤的第9個分區(qū),sd是sata口接的,b是linux讀取時順序分配的標(biāo)號,我的固態(tài)是sda,機(jī)械是sdb. initrd /initrd... //補(bǔ)全后是initrd.img,init ramdisk,設(shè)定系統(tǒng)加載 boot //自動重啟
|
有省略號的地方進(jìn)行tab補(bǔ)全就好. 我做的時候,有幾次tab補(bǔ)全沒用,后來是用u盤試裝了下ubuntu,然后在里面的終端中這樣
| sudo mount /dev/sdb9 /mnt sudo grup-install --boot-directory =/mnt/boot/dev/sda //提示失敗,具體原因忘了,好像是efi怎么了,然后我就退出重啟,進(jìn)入grup,重新試了下tab,就好使了,不知道什么原因
|
計算機(jī)重啟后直接進(jìn)入到ubuntu,這時執(zhí)行 | sudo grub-install -v [sudo] jacean 的密碼: grub-install:信息: executing modprobe efivars 2>/dev/null. grub-install:信息: Looking for /sys/firmware/efi ... grub-install:信息: ...found. grub-install:信息: ... but x86_64-efi platform not available. grub-install:信息: ... not found. Looking for /proc/device-tree ... grub-install:信息: ... not found. Installing for i386-pc platform. grub-install:錯誤: install device isn't specified.
|
仍然報錯.然后就想著用boot-repair. 安裝boot-repair | sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair sudo boot-repair
|
bootrepair自己都提示要等好幾分鐘,所以就只能等了。 注意這中間會有提示輸入給出的終端命令來移除就得grub和重裝新的grub,照著做完后點擊彈出窗口的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | ``` 已成功修復(fù)啟動。 請紙錄以下URL: http://paste./18152255/ 如果您仍然遇到引導(dǎo)問題,請在此 URL 處留言: boot.repair@gmail.com 或您最喜愛的論壇。 現(xiàn)在您可以重新啟動計算機(jī)。 別忘了在BIOS中設(shè)置從sdb (500GB)磁盤啟動 [操作系統(tǒng)正在使用中 - Ubuntu 15.10]的引導(dǎo)文件距磁盤頭部太遠(yuǎn),你的BIOS可能無法檢測到它們。 您可以創(chuàng)建一個/boot分區(qū)然后重試 (EXT4, >200MB, 磁盤起始位置). 這可以通過諸如 gParted 等工具來操作。 然后在 [引導(dǎo)修復(fù)]的[單獨的/boot分區(qū)]中選擇該分區(qū)。 (https://help./community/BootPartition) If your computer reboots directly into Windows, try to change the boot order in your BIOS. If your BIOS does not allow to change the boot order, change the default boot entry of the Windows bootloader. For example you can boot into Windows, then type the following command in an admin command prompt: bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
|
不用管這個,直接確認(rèn),然后重啟。 重啟之后會發(fā)現(xiàn)啟動項有很多個,不過ubuntu和ubuntu是存在的。還有我之前做的refind的嘗試中的efi啟動文件。進(jìn)入windows用dg刪掉之前多余的東西,把esp里的EFI文件夾恢復(fù)本來面貌。 然后,進(jìn)入ubuntu
重新更新下grub,可以看到之前的廢品已經(jīng)沒有了。但是,還有很多windows boot manager之類的啟動項,重復(fù)又難看,為了保持清爽,可以
| sudo gedit /boot/grub/grub.cfg
|
在這個文件里面把不需要的注釋掉,只留下想要的. 但是,這又一個缺點就是,如文件開頭所述
| # # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub #
|
這個文件是根據(jù)grub.d和grub這兩個文件生成的,改動這個,如果執(zhí)行g(shù)rub update或是其他一些更新指令,都會讓改動消失恢復(fù)默認(rèn).所以可酌情去修改grub文件和grub.d文件夾下的文件.可以設(shè)置默認(rèn)啟動項,設(shè)置前后景色,設(shè)置圖標(biāo)等等.
|