如何在 Linux 上不重启计算机测试你的 live USB

问题:

你想创建一个 live USB 棒,例如 gparted、Ubuntu 等,你想在不重启计算机的情况下快速测试它。

解决方案

你可以使用 qemu,一个系统模拟器,来做到这一点。

首先,安装 qemu。在 Ubuntu 上:

test_live_usb.sh
sudo apt -y install qemu-system-x86

现在找出你的 USB 棒的块设备名称(例如 /dev/sdb)。你可以使用 lsblk 来执行此操作:

lsblk.sh
sudo lsblk

这将输出,例如

lsblk_output.txt
[...]
sda      8:0    0 447,1G  0 disk
├─sda1   8:1    0   549M  0 part
├─sda2   8:2    0 121,2G  0 part
├─sda3   8:3    0     1K  0 part
└─sda5   8:5    0 325,4G  0 part /
sdb      8:16   1  29,3G  0 disk
└─sdb1   8:17   1   268M  0 part

/dev/sda 通常是你自己的硬盘(在我的情况下,是 500 GB 硬盘 - 列出为 447.1G)。在我的情况下,我使用 32 GByte USB 棒作为 live USB,即 /dev/sdb (29.3 GB)。

注意: 你要使用驱动器块设备(例如 /dev/sdb),而不是分区块设备(例如 /dev/sdb1

现在你可以像这样运行 qemu

qemu_boot_usb.sh
sudo qemu-system-x86_64 -hda /dev/sdb -m 1024

记住将 /dev/sdb 替换为你的 USB 棒块设备(我们之前使用 lsblk 识别的)。

-m 1024 告诉 qemu 使用 1024 兆字节 = 1 千兆字节 RAM。你可能需要根据你尝试启动的内容增加此值。

注意此方法将尝试使用 BIOS 启动,不会尝试启动仅 UEFI 驱动器如 tuxboot 创建的那些。为了在 qemu 中使用 UEFI,你首先需要安装 OVMF(这是一个可用于 qemu 的 UEFI 模拟器):

install_ovmf.sh
sudo apt -y install ovmf

然后像这样运行 qemu

qemu_uefi_boot_usb.sh
sudo qemu-system-x86_64 -bios /usr/share/ovmf/OVMF.fd -hda /dev/sdb -m 1024

记住将 /dev/sdb 替换为你的 USB 棒块设备(我们之前使用 lsblk 识别的)。

由于 qemu 是模拟器,它将比从 USB 棒启动计算机慢 - 但你可以在测试 live USB 棒时保持计算机运行。


Check out similar posts by category: Linux