我正在尝试在 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
希望这可以帮助!