如何「查看」用作引導程式的實際檔案?

如何「查看」用作引導程式的實際檔案?

我一直在嘗試使用 Ubuntu 的“Disks”程式在我朋友的筆記型電腦上建立分割區映像,然後恢復它們,但沒有成功。我將備份保存到外部硬碟上,然後刪除筆記型電腦上的所有分區,創建具有確切原始字節數的空分區,並從外部硬碟恢復圖像,但 Windows 甚至無法找到自己的引導程序,所以我無法開機。

所以現在我正在嘗試一些不同的東西。無論如何,她不使用 Windows,所以我將保留 Windows 分割區不變,並選擇 sda7 來安裝 Ubuntu 16.04 引導程式。

在此輸入影像描述

現在,在 BIOS 中,我可以看到一個單獨的 Windows 開機載入程式和 Ubuntu grub64 文件,我選擇該檔案作為引導的可信任 UEFI 檔案。所以現在她有了雙啟動系統。

現在我想嘗試建立 sda7 的克隆(使用 Ubuntu 的「磁碟」應用程式),這樣即使我刪除分割區 sda7、sda5 和 sda6,然後重新建立它們並恢復 sda7 的克隆,我也應該能夠選擇引導程式BIOS 中的sda7 作為可信任引導程序,並像以前一樣具有雙重引導系統。

但在此之前,我想驗證引導程式是否確實位於 sda7 中。我嘗試grep -r "grub" .從根資料夾中進行操作,但這可能是錯誤的查找內容,所以您能幫忙解決這個問題嗎?如何確保引導程式位於 sda7 中?那些是哪些文件?

答案1

UEFI BIOS 執行的開機載入程式不是從 /dev/sda7 載入的,而是從 EFI 分割區 /dev/sda2 載入的。您目前的系統已將此分割區安裝在/boot/efi/。以 root 身分搜尋該分割區以尋找 grub 二進位檔案和 grub cfg 檔案。

此 cfg 檔案將 grub 指向您的啟動分割區,然後指向另一個自動產生的 cfg 文件,您可以在 /boot/grub/grub.cfg 中看到。此 cfg 檔案包含用於建立 grub 啟動選單的所有數據,當您在 linux 中鍵入「sudo grub-install」時寫入。

答案2

首先,您寧願仔細檢查您是否實際上正在啟動電噴沒有舊的BIOS

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

如果您實際上使用 EFI 引導,則會儲存 GRUB 檔案:

  • 在 ESP 分區中 (in /EFI/ubuntu)
  • /boot/grub
  • /etc/grub

所以是的/dev/sda7持有一些GRUB/etc/grub文件最類似於和中的文件/boot/grub

我對此不是 100% 確定,但如果/dev/sda7被擦除/boot/grub/grub.cfg將會丟失並且 GRUB 將無法正常工作。

相關內容