0%

将自定义 Debian Live 安装到USB驱动器 (img格式)

这些说明不是用于实时安装,而是用于将Debian安装到USB闪存介质。

这里的一个额外好处是,我们将首先在img作为环回设备安装的文件中准备Debian chroot 。

然后,我们可以将该img文件用作通用基础映像,然后将其部署到大量USB驱动器中。

你为什么想做这个?好吧,一方面,该img文件有助于减少混乱,并为您提供易于管理的文件,该文件可以一次又一次地重新部署。这对于创建将在多台计算机上重用的通用映像也是理想的。就像您在网吧中所做的那样,每次启动时都会重新安装Debian,或者在教室中。

警告:我已突出显示您应该在chroot环境中的所有位置。小心!在本地环境而不是chroot中运行其中一些命令可能会导致问题。

1
2
sudo apt-get install \
debootstrap

创建图像文件并将其格式化。

1
2
3
fallocate -l 2G debian.img
echo -e "o\nn\np\n1\n\n\nw" | sudo fdisk debian.img
echo -e "a\nw\n" | sudo fdisk debian.img

请注意以下命令返回的内容。对我来说,回送设备是/dev/loop0,但它可能因您而异。如果您的回送设备地址不同,请相应地更新以下说明。

1
sudo losetup --partscan --show --find debian.img

格式化回送设备的linux分区,就像我们对真实物理设备所做的一样。

1
sudo mkfs.ext4 /dev/loop0p1

挂载分区。

1
2
sudo mkdir -p /mnt/debian
sudo mount /dev/loop0p1 /mnt/debian

引导chroot。

1
2
3
4
sudo debootstrap \
--arch=i386 \
--variant=minbase \
stretch /mnt/debian http://ftp.us.debian.org/debian/

将特殊设备安装到chroot。这对于以后安装grub非常重要。

1
2
3
sudo mount -t proc /proc /mnt/debian/proc
sudo mount -t sysfs /sys /mnt/debian/sys
sudo mount -o bind /dev /mnt/debian/dev

将root更改为chroot环境。

1
sudo chroot /mnt/debian

chroot

至少需要这些软件包,但根据需要添加更多。

当提示您将grub安装到设备上时,请勿安装它。只需单击“ Enter”,然后选择不将其安装到任何设备。

1
2
3
4
apt-get update && \
apt-get install --no-install-recommends \
linux-image-586 systemd-sysv \
grub2-common grub-pc

chroot

我们要基于磁盘标签而不是UUID或类似的命名磁盘fstab进行装载。这是因为,根据计算机的不同,USB驱动器可能不是/ dev / sda,而且因为UUID会根据文件的部署位置而有所不同。/``/dev/sda``img

1
echo "LABEL=DEBUSB / ext4 defaults 0 1" > /etc/fstab

chroot

1
passwd root

chroot

1
2
3
4
5
6
grub-install \
--target=i386-pc \
--boot-directory=/boot \
--force-file-id \
--skip-fs-probe \
--recheck /dev/loop0

chroot

1
exit

在中编辑grub.cfg文件img

1
sudo nano /mnt/debian/boot/grub/grub.cfg

将此内容粘贴到grub.cfg文件中。

1
2
3
4
5
6
7
8
# grub.cfg
set default="0"
set timeout=10

menuentry "Debian" {
linux /vmlinuz root=/dev/disk/by-label/DEBUSB quiet
initrd /initrd.img
}

使用与我们fstab上面相同的名称标记映像分区。

1
sudo e2label /dev/loop0p1 DEBUSB

设置的主机名img

1
echo "debian-usb" | sudo tee /mnt/debian/etc/hostname

清理特殊设备。

1
sudo umount /mnt/debian/{dev,sys,proc}

卸载回路设备。

1
sudo umount /mnt/debian

卸下img

1
sudo losetup -d /dev/loop0

现在,您具有通用的Debian安装,可以像这样将其部署到多个设备。

1
dd if=debian.img of=/dev/sdz

引文

原文地址:

  • 本文标题:将自定义 Debian Live 安装到USB驱动器 (img格式)
  • 本文作者: LinG218
  • 本文链接: https://www.ling218.cn/archives/93f8863.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!