我在 acer easyStore 机箱上运行 Ubuntu。当电源噪音太大时,我决定将硬盘移到台式机箱上。但是,当我尝试启动时,屏幕告诉我选择 cd 驱动器(即使我在 bios 设置中将硬盘设置为启动顺序中的第一个选项)。幸运的是,我有一张 Ubuntu cd,所以我能够从那里启动。其中一个选项是从硬盘启动,这很好用。那么我该如何让机器从硬盘启动呢?
可能有用的信息:台式机是在 2007 年左右购买的。简易商店是在 2011 年购买的。我怀疑分区表格式(MBR 与 GPT)存在问题,但不确定这是否是问题所在。
以下是 gdisk 和 parted 的输出:
robarson@mercenary:~$ sudo gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.1
Partition table scan:
MBR: protective
BSD: not presen
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 3907029168 sectors, 1.8 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 9F77ECBD-E11B-4245-B834-70E449BF4F3E
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 3907029134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2157 sectors (1.1 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 4095 1024.0 KiB EF02
2 4096 3901030399 1.8 TiB 0700
3 3901030400 3907028991 2.9 GiB 8200
robarson@mercenary:~$ sudo parted -l
Model: ATA ST32000542AS (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1997GB 1997GB ext4
3 1997GB 2000GB 3071MB linux-swap(v1)
Warning: Unable to open /dev/sr0 read-write (Read-only file system). /dev/sr0
has been opened read-only.
Error: /dev/sr0: unrecognised disk label
答案1
较新的计算机可能配置为以 EFI 模式启动,而不是以较旧的 BIOS 模式启动,较旧的计算机可能使用较旧的 BIOS 模式。检查您的分区表。如果在开始时有一个较小的 FAT 分区,该分区在 GParted 中显示或parted
已设置其“启动标志”,或gdisk
显示其类型代码为 EF00,则这是一个 EFI 系统分区 (ESP)。检查其中的文件。如果有一个目录,EFI/ubuntu
其名称以 结尾.efi
(例如grub.efi
或grubx64.efi
),则这支持了我的假设。
如果我是对的,您可以通过使用您选择的迂回路径启动硬盘来修复它,创建一个小的(~1MiB)BIOS 启动分区,卸载grub-efi
软件包,安装grub-pc
软件包,然后运行sudo update-grub
。这应该会在磁盘上设置 BIOS 模式引导加载程序。但请注意,如果您随后将磁盘移回较新的计算机,它可能会失败,除非您逆转该过程并重新安装grub-efi
另一个 EFI 模式引导加载程序。