USB 驱动器上缺少操作系统

USB 驱动器上缺少操作系统

我正在尝试在 USB 驱动器上安装最小版本的 Ubuntu(完整安装,而不是实时启动)。但是,安装后,当我尝试从 USB 启动时,出现“缺少操作系统”提示。

我认为 可能有问题grub,但我不知道如何修复它。我之前曾安装到 USB,但弄乱了主grub文件,所以我不想这样做。

fdisk -l这是与 USB 驱动器相关的输出:

Disk /dev/sdc: 4027 MB, 4027580416 bytes
124 heads, 62 sectors/track, 1023 cylinders, total 7866368 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x73a571aa

Device Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     7616511     3807232   83  Linux
/dev/sdc2         7618558     7864319      122881    5  Extended
/dev/sdc5         7618560     7864319      122880   82  Linux swap / Solaris

此外,根据此输出,我的启动分区可能未标记为可启动。请帮忙!

更新

我按照Terrance的建议操作,所以 /dev/sdc1 现在被标记为启动分区。但是,驱动器仍然无法启动。

我并不是在问如何将 Ubuntu 安装到 USB 驱动器,而是在寻求帮助修复已经安装了 Ubuntu 的 USB。

更新

Terrance更新后的答案为我解决了这个问题。请注意,为了使它在我的 USB 上运行,我必须创建一个/boot/extlinux/syslinux.cfg包含以下内容的文件:

PROMPT 0
TIMEOUT 50
DEFAULT arch

LABEL arch
        LINUX ../vmlinuz-4.4.0-45-generic
        APPEND root=UUID=[The USB UUID]
        INITRD ../initrd.img-4.4.0-45-generic

答案1

您可以在终端窗口中输入以下内容,在 USB 驱动器的第一个分区上设置启动标志:

sudo parted /dev/sdc set 1 boot on

还可以尝试安装extlinux并将syslinux-common启动文件放在 USB 驱动器上。在终端中输入:

sudo apt install extlinux syslinux-common

安装完成后,插入 USB 驱动器并输入:

sudo mkdir -p /mnt/USB/boot/extlinux
sudo extlinux --install /mnt/USB/boot/extlinux

或者你的 USB 驱动器的挂载点/media/username/1001-BAAB/boot/extlinux

然后您应该mbr使用以下命令将代码安装到 USB 驱动器: 别担心,这不会覆盖 USB 驱动器。

dd if=/usr/lib/EXTLINUX/mbr.bin of=/dev/sdc bs=440 count=1

确保这/dev/sdc是您的 USB 驱动器。

更多信息可以在这里找到: http://shallowsky.com/linux/extlinux.html

来自 extlinux 的手册页:

NAME
       extlinux  -  install  the SYSLINUX bootloader on a ext2/ext3/ext4/btrfs
       filesystem

希望这可以帮助!

相关内容