今天早些時候,我的電腦的啟動磁碟機上順利安裝了 Windows 10 和 Ubuntu 16.04。
我可以選擇是透過 GRUB 啟動 Ubuntu 還是 Windows。我還能夠在 VMWare Workstation 中將 Ubuntu 作為虛擬機器啟動。
今晚愚蠢的是,我在 Ubuntu 中運行了該命令,sudo apt-get dist-upgrade
而它在 Windows 中作為虛擬機器運行。
這做了一件非常奇怪的事。我不知道是什麼,但是當它嘗試更新 GRUB 時,它完全崩潰了。
我重新啟動了 Windows,這讓我看到了一個看起來很奇怪的 GRUB 螢幕;正常的 grub 螢幕,但@
選單周圍有標誌形成邊框。選擇 Windows 或 Ubuntu 會導致Error: Command not found, press any key to continue
錯誤。按任一鍵即可返回 GRUB 主選單。
一切都已備份,我可以使用 Macrium live CD 查看啟動磁碟機。
它有以下分區:
1 - System Reserved = 100MB = This is something to do with Windows, but what? The UEFI bios?
2 - Boot (C:) = 83GB = This is where Windows 10 is installed
4 - (None) = 19.99GB = This where Ubuntu is installed
5 - (None) = 7.94GB = No idea what this is. 8 gb? Completely filled as well. What is this partition?
3 - (H:) = 450MB = No idea what this is.
那麼我應該運行什麼來將 grub 恢復到該驅動器?我想我需要啟動我的可啟動 Ubuntu pendrive 並運行,grub-install /dev/xxxxx
但是我不知道該用什麼替換xxxxx
。
我用一個名為“啟動修復”的 ubuntu 應用程式掃描了我的驅動器,這就是它給我的。
"blkid" output: ________________________________________________________________
Device UUID TYPE LABEL
/dev/loop0 squashfs
/dev/sda1 42F031C2F031BCCB ntfs Current
/dev/sdb1 9834F5D734F5B7F8 ntfs Archive
/dev/sdc1 7A900F02900EC51B ntfs System Reserved
/dev/sdc2 62BA1027BA0FF5F7 ntfs Boot
/dev/sdc3 8C009F66009F55D4 ntfs
/dev/sdc5 7d735d0f-0066-414d-88ad-2c49d8b7bbba ext4
/dev/sdc6 e2a27db6-9029-4cf6-903b-5403f64dc38d swap
/dev/sdd1 02FE-C63F vfat UUI
/dev/sr0 2016-03-02-11-04-09-00 udf RESCUE
我認為我需要運行grub-install /dev/sdc2
,因為“啟動”是我所說的啟動驅動器,但我真的不確定,而且我不想損壞任何東西,所以我想確認。如果有人可以告訴我我的神秘分區(標記為System Reserved
,None
並H
在我的第一個表中)是什麼,我也將不勝感激。
基本上,這歸結為我應該提供什麼路徑才能grub-install
重新安裝 grub,如果這是解決我的啟動問題的方法的話?
答案1
問題是sdX
您應該使用哪個而不是哪個sdcY
。如果sda
和sdb
是“數據驅動器”,那麼它就是sdc
。指定的裝置是 grub 將放置其開機程式碼/核心映像的位置,通常應該是 MBR 以及該裝置與開機磁碟的第一個分割區之間的後 MBR 間隙。
更大的問題是 grub 模組等將安裝到哪裡。這是透過選項指定的--boot-directory
,預設值為/boot
.就您而言,我沒有看到您有單獨的分割區,因此您需要安裝sdc5
在即時環境中(例如在/mnt
)。然後你可以運行:
grub-install --boot-directory /mnt/boot /dev/sdc
或者,如果您可以設法 chroot 到/mnt
:
grub-install --boot-directory /boot /dev/sdc
where--boot-directory /boot
可以省略,因為它是隱含的。
您可能還需要明確指定--target i386-pc
for grub-install
,以防您的系統具有UEFI 而不是BIOS,並且您的實時環境以某種方式以UEFI 模式啟動,而不是像啟動磁碟上的系統那樣的傳統模式(因為它沒有EFI 系統)分區,技術上應始終為 FAT12/16/32)。
您可能需要跑update-grub
一下grub-install
以確保grub.cfg
正確。與 不同的是grub-install
,update-grub
必須在 chroot AFAIK 中運行。
1 - 系統保留 = 100MB = 這與 Windows 有關,但什麼? UEFI BIOS?
系統保留就像/boot
Linux 中的一個分割區。它有 Windows 啟動檔案的副本(Windows 啟動管理器、BCD 儲存...)。通常它還有一個 Windows 復原環境。它主要針對 BitLocker 加密的系統磁碟區 ( C:
) 和 Windows 多重啟動進行分離。
5 -(無)= 7.94GB = 不知道這是什麼。 8GB?也完全填滿了。這個分區是什麼?
顯然是swap
分區。
3 - (H:) = 450MB = 不知道這是什麼。
可能是一些過時的 OEM 恢復分區。我敢打賭它最初更大並且包含一個完整的系統恢復映像,但自從您升級到 Windows 10 左右後已被刪除並且分區縮小了(AFAIR 磁碟清理也有一個選項可以完成此操作)。