看来我以某种方式踢出了我的蓝光磁盘驱动器的“磁盘驱动器启动选项”。
我尝试使用“efibootmgr”修复它,但没有任何效果。我想我只是不明白如何使用这个程序。
以下是 efibootmgr 告诉我的有关我的启动顺序的信息:
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000
Boot0000* ubuntu
Boot0001* ubuntu
有人知道如何将我的磁盘驱动器添加到序列中吗?
efibootmgr 为我提供了以下选项:
efibootmgr version 0.5.4
usage: efibootmgr [options]
-a | --active sets bootnum active
-A | --inactive sets bootnum inactive
-b | --bootnum XXXX modify BootXXXX (hex)
-B | --delete-bootnum delete bootnum (hex)
-c | --create create new variable bootnum and add to bootorder
-d | --disk disk (defaults to /dev/sda) containing loader
-e | --edd [1|3|-1] force EDD 1.0 or 3.0 creation variables, or guess
-E | --device num EDD 1.0 device number (defaults to 0x80)
-g | --gpt force disk with invalid PMBR to be treated as GPT
-H | --acpi_hid XXXX set the ACPI HID (used with -i)
-i | --iface name create a netboot entry for the named interface
-l | --loader name (defaults to \elilo.efi)
-L | --label label Boot manager display label (defaults to "Linux")
-n | --bootnext XXXX set BootNext to XXXX (hex)
-N | --delete-bootnext delete BootNext
-o | --bootorder XXXX,YYYY,ZZZZ,... explicitly set BootOrder (hex)
-O | --delete-bootorder delete BootOrder
-p | --part part (defaults to 1) containing loader
-q | --quiet be quiet
| --test filename don't write to NVRAM, write to filename.
-t | --timeout seconds set boot manager timeout waiting for user input.
-T | --delete-timeout delete Timeout.
-u | --unicode | --UCS-2 pass extra args as UCS-2 (default is ASCII)
-U | --acpi_uid XXXX set the ACPI UID (used with -i)
-v | --verbose print additional information
-V | --version return version and exit
-w | --write-signature write unique sig to MBR if needed
-@ | --append-binary-args file append extra args from file (use "-" for stdin)
因此,使用“--create”,我可以创建一个新的启动号。但这只会为我的 Linux 分区创建另一个启动号。
以下是 hwinfo 告诉我的有关我的磁盘驱动器的信息:
Hardware Class: disk
Model: "Hitachi HTS72757"
Vendor: "Hitachi"
Device: "HTS72757"
Revision: "JF4O"
Driver: "ahci", "sd"
Driver Modules: "ahci"
Device File: /dev/sda
Device Files: /dev/sda, /dev/disk/by-id/ata-Hitachi_HTS727575A9E364_J3340084HUZWHB, /dev/disk/by-id/scsi-SATA_Hitachi_HTS7275_J3340084HUZWHB, /dev/disk/by-id/wwn-0x5000cca68cd9e8ba, /dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
Device Number: block 8:0-8:15
BIOS id: 0x80
Drive status: no medium
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #29 (SATA controller)
这对我来说是一个真正的问题,因为我现在无法使用 Live CD 启动。
更新:
因此,经过几个小时的研究,谷歌得出了以下结果:
我试过
sudo efibootmgr --create --disk /dev/sda --part 1 --label "Precise - GRUB2" --loader \\EFI\\ubuntu\\grubx64.efi
当然,我根据我的系统改变了给定的变量。
正如“mount”告诉我的那样,我继续
sudo efibootmgr --create --disk /dev/sr0 --part 1 --label "Blueray" --loader \\EFI\\ubuntu\\grubx64.efi
假设
\\EFI\\ubuntu\\grubx64.efi"
链接到
/boot/efi/EFI/ubuntu
但我只得到了错误
Could not open disk /dev/sr0: Read-only file system
好吧,我猜想通过 efibootmgr 为我的磁盘驱动器创建启动选项的尝试是错误的。 --create 命令显然是试图向磁盘驱动器写入某些内容。
因此我尝试告诉 grub 有一个磁盘驱动器:
sudo grub-install --bootloader-id CD-ROM /dev/sr0
然后
sudo reboot
我的 BRD 驱动器中有一个可启动磁盘(尝试了两张不同的 DVD,都可以在我的另一个系统上启动)。在从我的 Ubuntu 分区启动系统之前,系统似乎检查了 DVD(启动时我可以听到驱动器旋转的声音)
但 Ubuntu 照常从硬盘启动。
我刚刚检查并发现我的命令创建了这个文件夹:
/boot/efi/EFI/CD-ROM
使用另一个“grubx64.efi”,类似于
/boot/efi/EFI/ubuntu
我用 nano 编辑器打开了该文件,但该文件似乎以 nano 无法理解的方式加密(只有胡言乱语)
这里有一段小摘录,让你明白我的意思:
MZ�^@^C^@^@^@^D^@^@^@��^@^@�^@^@^@^@^@^@^@@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^$
有人知道我该如何将启动顺序恢复为标准值吗?或者我该如何添加蓝光磁盘驱动器?
答案1
我认为efibootmgr
他不太适合这项任务。
在大多数情况下,您可以通过固件自己的用户界面执行所需的操作。有时只需选择内置的启动管理器(通常在启动过程中按下功能键,但具体哪个功能键因型号而异)就会使其重新检测您的光驱。在其他情况下,您可能需要进入设置实用程序(通过按下另一个功能键或键Del)并找到设置启动顺序的选项。不幸的是,所有这些的用户界面变化很大,所以我无法更具体。查阅您的计算机或主板的手册可能会为您提供线索,但不幸的是,随着时间的推移,这些手册变得越来越模糊。
答案2
尝试拔下/重新插入驱动器。升级/降级 BIOS 也可能有帮助。我通过将驱动器插入另一个 SATA 端口解决了这个问题。
答案3
首次启动计算机时,请尝试按下F2进入设置。如果将磁盘驱动器在启动顺序中设置得更高,它将在查找硬盘驱动器上的 efi 文件之前从磁盘启动。F12或者F10可能会调出一个菜单,其中可能包括从磁盘启动或进入设置来配置选项(如首选启动顺序)的选项。具体按钮因制造商而异,但F2很常用,Del或者delete也是进入设置的常用选项。