安裝 Debian 時 GRUB 和 LILO 都無法安裝到 NVMe 硬碟
我正在嘗試在 Lenovo Thinkpad 上安裝 64 位 Debian stable。當我進入安裝引導載入程序的安裝步驟時,我收到以下消息:
安裝步驟失敗。您可以嘗試從菜單中再次執行失敗的項目,或者跳過它並選擇其他內容。失敗的步驟是:在硬碟上安裝 GRUB 引導載入程序
回到菜單並選擇 LILO 給了我同樣的錯誤。安裝日誌說
May 1 13:24:23 main-menu[188]: WARNING **: Configuring 'grub-installer' failed with error code 1 May 1 13:24:23 main-menu[188]: WARNING **: Menu item 'grub-installer' failed. May 1 13:24:28 main-menu[188]: INFO: Menu item 'lilo-installer' selected May 1 13:24:28 main-menu[188]: WARNING **: Unable to set title for fdisk-udeb. May 1 13:24:28 main-menu[188]: WARNING **: Configuring 'lilo-installer' failed with error code 1 May 1 13:24:28 main-menu[188]: WARNING **: Menu item 'lilo-installer' failed.
我沒有使用 LVM 或 RAID。到目前為止,我已經嘗試過
- 禁用 UEFI 引導並改用傳統引導。GRUB 和 LILO 仍然會出現錯誤。
- 按照有關此問題的說明並執行
parted /dev/nvme01 set 1 bios_grub on
來自 TTY2,但我收到一條錯誤消息
parted not found
。在我的系統/dev/nvme01
上是唯一的硬碟 3. 檢查硬體錯誤。當我第一次購買該系統時,我從 BIOS 和 Windows 中執行了所有可用的硬體測試,並且通過了所有測試。我假設這意味著硬體沒有故障。 4. 根據這個有類似錯誤的執行緒/boot
,儘管使用 LVM,我嘗試在開始時使用一個小分區重做分區,格式化為ext2
. 同樣的錯誤。 5. 切換到TTY4看安裝輸出,我也看到錯誤了chroot: can't execute 'grub-probe': No such file or directory
搜尋這方面的資訊會出現這個執行緒和這個與 GRUB 相關的錯誤報告,但是 a)這些都是舊的,b)我已經安裝了十多次,我每次都得到錯誤,所以這似乎不是一次性的事情。 6. 我使用 Gparted 檢查硬碟是否完全為空。 7. 在 BIOS 中禁用了安全啟動。 8. 我已經使用完整的 DVD 和 netinstall CD 執行了安裝;兩者都是從 USB 啟動的,但問題仍然存在。
在上一個安裝步驟中,我能夠在驅動器上成功創建一個
msdos
分區表和三個分區(for/
、、/home
和swap
),所以我不知道為什麼 GRUB 突然無法寫入驅動器。我該如何解決這個問題並安裝 Debian?截至目前,(全新!)系統完全無法使用,因為我無法在其上安裝作業系統。
部分問題可能是 Debian/parted 錯誤地辨識磁碟嗎?它說磁碟是 512.1 GB,從規格上說是 512 GB 的意義上說是正確的,這就是宣傳的內容,它會讓我將所有 512 GB 分配給不同的分區。但是,如果我在 Gparted 中載入它,實際磁碟空間接近 476 GB,但我認為這只是通常的 1024 與 1000 的東西。
(我還在Debian 論壇上發布了這個問題的一個版本,所以我會用該執行緒中的任何重要內容更新我的問題,反之亦然。)
這對我有用,使用 Debian jessie(穩定版)。我基本上從這篇 wiki 文章中獲取了說明,並刪除了有關使用 Windows 進行雙重引導的所有步驟,因為這些步驟不適用於我的情況。
- 在 BIOS 中,設置“僅 UEFI”啟動。
- 使用 Gparted,在磁碟的開頭創建一個帶有
boot
和esp
標誌的 FAT32 分區。(Debian 安裝程序也應該能夠做到這一點,但是由於安裝程序錯誤地辨識了磁碟的大小,我更喜歡使用 Gparted)。在我的例子中,FAT32 分區是 /dev/nvme0n1p1。- 在安裝過程中,請確保您已配置網路連接(手動或自動,沒關係)。否則,下一步將失敗。
- 在 GRUB 安裝失敗的安裝階段,打開 shell 並執行以下命令:
mount --bind /dev /target/dev mount --bind /dev/pts /target/dev/pts mount --bind /proc /target/proc mount --bind /sys /target/sys cp /etc/resolv.conf /target/etc chroot /target /bin/bash aptitude update aptitude install grub-efi-amd64 update-grub grub-install --target=x86_64-efi /dev/nvme0n1
退出 shell 並選擇“繼續而不安裝引導載入程序”。您將看到一條警告消息,提示您使用啟動命令;你可以忽略這個。 5. 安裝完成後,啟動進入系統。將“nvme”添加到 /etc/initramfs-tools/modules,然後
update-initramfs -u
以 root 身份執行。 6. 編輯 /etc/default/grub 並添加這一行GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
並將“nomodeset”添加到 GRUB_CMDLINE_LINUX_DEFAULT,使其看起來像這樣:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
- 執行
update-grub
。最後幾個命令(initramfs 之後)是必要的,以防止您第二次嘗試引導進入新系統時出現未找到磁碟的錯誤。