重新安裝GRUB,使用哪個設備?

重新安裝GRUB,使用哪個設備?

今天早些時候,我的電腦的啟動磁碟機上順利安裝了 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 ReservedNoneH在我的第一個表中)是什麼,我也將不勝感激。

基本上,這歸結為我應該提供什麼路徑才能grub-install重新安裝 grub,如果這是解決我的啟動問題的方法的話?

答案1

問題是sdX您應該使用哪個而不是哪個sdcY。如果sdasdb是“數據驅動器”,那麼它就是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-pcfor grub-install,以防您的系統具有UEFI 而不是BIOS,並且您的實時環境以某種方式以UEFI 模式啟動,而不是像啟動磁碟上的系統那樣的傳統模式(因為它沒有EFI 系統)分區,技術上應始終為 FAT12/16/32)。

您可能需要跑update-grub一下grub-install以確保grub.cfg正確。與 不同的是grub-installupdate-grub必須在 chroot AFAIK 中運行。


1 - 系統保留 = 100MB = 這與 Windows 有關,但什麼? UEFI BIOS?

系統保留就像/bootLinux 中的一個分割區。它有 Windows 啟動檔案的副本(Windows 啟動管理器、BCD 儲存...)。通常它還有一個 Windows 復原環境。它主要針對 BitLocker 加密的系統磁碟區 ( C:) 和 Windows 多重啟動進行分離。

5 -(無)= 7.94GB = 不知道這是什麼。 8GB?也完全填滿了。這個分區是什麼?

顯然是swap分區。

3 - (H:) = 450MB = 不知道這是什麼。

可能是一些過時的 OEM 恢復分區。我敢打賭它最初更大並且包含一個完整的系統恢復映像,但自從您升級到 Windows 10 左右後已被刪除並且分區縮小了(AFAIR 磁碟清理也有一個選項可以完成此操作)。

相關內容