Boot
Qubes 破壞了我的引導,如何重新啟用 efi 引導?
我有一個“測試所有作業系統”——執行 Windows 和 Ubuntu MATE 的筆記型電腦,使用 rEFInd 作為啟動管理器。
昨天我在驅動器的最後三分之一處安裝了Qubes。從那以後,我已經閱讀了為什麼您不應該這樣做,但只是為了測試作業系統,我仍然不介意這樣做。
不幸的是,我不能再啟動舊的作業系統:es。也沒有 rEFInd。經過一番閱讀,我猜 Qubes 只是舊版引導,但為什麼這完全破壞了我的 UEFI 引導舊系統,我不知道。
grub 的 Qubes 安裝很好,但是如果我嘗試從中啟動 rEFInd,它會失敗:
grub> ls (hd0) (hd0, gpt10) (hd0, gpt9) (hd0, gpt8) (hd0, gpt7) (hd0, gpt6) (hd0, gpt5) (hd0, gpt4) (hd0, gpt3) (hd0, gpt2) (hd0, gpt1) grub> chainloader (hd0,gpt3)/efi/Boot/bootx64.efi error: invalid signature
手動嘗試從電腦韌體中選擇 efi 文件失敗,當韌體嘗試列出硬碟驅動器中可用的 efi 文件時,滑鼠甚至掛起。
引導安裝在拇指驅動器上的 rEFInd 工作正常,所以我斷定機器上的韌體完好無損,但硬碟驅動器被 Qubes 安裝程序弄亂了。
它對我的驅動器做了什麼?我怎樣才能恢復它?
使用 gdisk 渲染查看驅動器:
root@ubuntu-mate:~# gdisk /dev/sda GPT fdisk (gdisk) version 1.0.1 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): v Warning: The 0xEE protective partition in the MBR is marked as active. This is technically a violation of the GPT specification, and can cause some EFIs to ignore the disk, but it is required to boot from a GPT disk on some BIOS-based computers. You can clear this flag by creating a fresh protective MBR using the 'n' option on the experts' menu. No problems found. 2925 free sectors (1.4 MiB) available in 2 segments, the largest of which is 2014 (1007.0 KiB) in size.
按照 gdisk 的說明:
Command (? for help): ? b back up GPT data to a file c change a partition's name d delete a partition i show detailed information on a partition l list known partition types n add a new partition o create a new empty GUID partition table (GPT) p print the partition table q quit without saving changes r recovery and transformation options (experts only) s sort partitions t change a partition's type code v verify disk w write table to disk and exit x extra functionality (experts only) ? print this menu Command (? for help): r Recovery/transformation command (? for help): ? b use backup GPT header (rebuilding main) c load backup partition table from disk (rebuilding main) d use main GPT header (rebuilding backup) e load main partition table from disk (rebuilding backup) f load MBR and build fresh GPT from it g convert GPT into MBR and exit h make hybrid MBR i show detailed information on a partition l load partition data from a backup file m return to main menu o print protective MBR data p print the partition table q quit without saving changes t transform BSD disklabel partition v verify disk w write table to disk and exit x extra functionality (experts only) ? print this menu Recovery/transformation command (? for help): x Expert command (? for help): ? a set attributes c change partition GUID d display the sector alignment value e relocate backup data structures to the end of the disk g change disk GUID h recompute CHS values in protective/hybrid MBR i show detailed information on a partition l set the sector alignment value m return to main menu n create a new protective MBR o print protective MBR data p print the partition table q quit without saving changes r recovery and transformation options (experts only) s resize partition table t transpose two partition table entries u replicate partition table on new device v verify disk w write table to disk and exit z zap (destroy) GPT data structures and exit ? print this menu Expert command (? for help): n Expert command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sda. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully.
重新啟動,我再次受到 rEFInd 的歡迎!Qubes 當然不會再啟動了。
似乎 Qubes 創建的保護性 mbr 是問題所在。