無法再啟動到已安裝的作業系統,只能從實時 USB 啟動
如果我嘗試在不插入 live usb 的情況下啟動,它會顯示
ERROR: No boot disk has been detected or the disk has failed.
我是否在插入 usb 的情況下執行此操作並以 UEFI 模式啟動,它將顯示一個 grub 菜單**(但它不是我通常看到的 grub 菜單)**。**我可以使用 grub 菜單(我上面提到的)**命令行使用以下命令進入已經安裝在我的硬碟上的 linux Mint :
grub> set root=(hd1,gpt2) grub> linux /boot/vmlinuz-5.4.0-117-generic root=/dev/sda2 grub> initrd /boot/initrd.img-5.4.0-117-generic grub> boot
然後我將啟動到 Mint,就像我從它的 grub 條目啟動它一樣。
在這個問題發生之前,我如何恢復 Mint 的 grub 菜單並像往常一樣啟動?
更多的:
我的電腦是 HP Pavilion 20-a210l,支持 UEFI。
我試圖雙啟動 Fedora 36,我使用 UNetBootin 創建媒體,嘗試使用
dd
命令,但是當啟動到媒體時,它只在螢幕左上角顯示閃爍的大下劃線。然後我選擇了自動分區,這樣它將使用所有硬碟可用空間。安裝完成,我重新啟動,然後出現不熟悉的 grub 菜單而不是 Mint 的 grub 菜單。
我堅信我提到的 grub 菜單來自 USB。
我也無法啟動到已安裝的 Fedora。
正如我所說,如果我用 UEFI 模式啟動 USB,我會得到一個不熟悉的 grub 菜單。如果我以 Legacy 模式啟動 USB,它將顯示 UNetBootin 菜單,允許我啟動實時 Fedora,就像在此問題發生之前我以 UEFI 模式啟動 USB 時一樣。
在此問題發生之前,我可以使用 Boot Menu(F9) 或“UEFI Firmware Settings”grub 條目啟動 USB。現在 USB 不會在引導菜單中顯示為 UEFI 選項。
“ubuntu”位於引導順序之上:
跑了
efibootmgr
:BootCurrent: 0008 Timeout: 0 seconds BootOrder: 0000,0002,0008,0001,0003,0007,0006,0004,0005 Boot0000* ubuntu Boot0001* USB Floppy/CD Boot0002* USB Hard Drive Boot0003* ATAPI CD-ROM Drive Boot0004* CD/DVD Drive Boot0005* USB Floppy/CD Boot0006* Hard Drive Boot0007* Realtek PXE B03 D00 Boot0008* UEFI: SanDisk
如您所見,我從閃迪 USB 拇指驅動器啟動。
跑了
sudo parted -l
:Model: ATA WDC WD5000AAKX-6 (scsi) Disk /dev/sda: 500GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: pmbr_boot Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp 2 538MB 315GB 315GB ext4 3 315GB 315GB 1049kB bios_grub 4 315GB 316GB 1074MB ext4 5 316GB 500GB 184GB btrfs Model: SanDisk Cruzer Blade (scsi) Disk /dev/sdb: 15,7GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 15,7GB 15,7GB primary fat32 boot
我嘗試了什麼:
- 更新grub,不好。
- 打開網路啟動,顯示相同的消息,但上面顯示 PXE 錯誤消息。
看起來您以傳統模式啟動了 Fedora 安裝程序,因此它將 Fedora 設置為使用 GPT 分區磁碟以傳統 BIOS 樣式啟動。這種組合是 Windows 根本不支持的,因此韌體開發人員可能會對其進行不良測試。
在您系統的 BIOS 設置中,是否可以選擇系統是嘗試以 UEFI 樣式、舊樣式還是兩者都嘗試引導?如果不是,那麼該首選項可能是硬編碼在韌體中的,顯然您的韌體目前優先於 UEFI 引導傳統樣式。如果可以,請將引導樣式設置更改為“僅 UEFI 樣式”,看看是否有幫助。
(在我看來,預設情況下允許以任何一種方式引導的系統都會導致災難,除非您在安裝作業系統時意識到陷阱並小心。我通常建議選擇一種引導方式並設置 BIOS 設置以允許這種方式只要有可能,就只做風格。)
如果您不能僅強制 UEFI 樣式引導,或者如果它沒有幫助,則需要從系統磁碟中刪除傳統樣式引導設置。最簡單的方法是刪除
pmbr_boot
磁碟標誌:# parted /dev/sda (parted) disk_set pmbr_boot off (parted) quit
您可能還想刪除分區 #3,因為它只包含 Fedora 傳統模式 GRUB 的核心映像。
在最壞的情況下,您可能還需要從一開始就破壞傳統風格的 MBR 引導程式碼,
/dev/sda
以使韌體停止嘗試從sda
磁碟引導傳統風格。您只想覆蓋 MBR 塊的前 439 個字節,因此如果您發現需要這樣做,請非常非常小心:dd if=/dev/zero bs=439 count=1 of=/dev/sda
如果您
os-prober
在 Mint 中安裝了該軟體包,當您在 Mint 中執行時,它可能能夠檢測到 Fedora 安裝的核心和 initramfssudo update-grub
,並自動將它們作為額外的菜單項添加到 Mint 的 GRUB 菜單中。這將是讓 Fedora 真正以 UEFI 模式啟動的一種可能方式。然後你可以確保/dev/sda1
像/boot/efi
在 Fedora 中一樣安裝,然後重新安裝 Fedora 的 UEFI GRUB 到/boot/efi/EFI/fedora
(grub-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda
從 Fedora 安裝執行時應該自動執行)。然後您可以使用efibootmgr
來決定哪個 GRUB 將是您的主引導菜單:Mint 的 GRUB 或 Fedora 的 GRUB。