![先决条件:](https://linux22.com/image/1157843/%E5%85%88%E5%86%B3%E6%9D%A1%E4%BB%B6%EF%BC%9A.png)
我的工作中使用 8GB 的 U 盘,带有分区
注意:仅限手动方法,不使用自动化工具
分区 1:格式 FAT32,标签“CASPER-RW”,6.2 GB 可用
分区 2 :格式为 FAT32,标签为“Xubuntu”(16.04.4)i386 -> 已使用 1.26 GB
使用 GParted 进行分区后,我在终端上像 root 一样执行以下步骤:
先决条件:
创建分区(LiveUSB 的第 2 分区为 1.27)”系统管理软件“(下载、编译和安装)和“syslinux”(在存储库中),将第一个分区设为持久分区的原因是因为我应该在 Windows XP 或 Windows 7 中使用 USB,而 Windows 版本只安装在 USB 设备上检测到的第一个兼容分区。
01 - 创建临时文件夹 (USB 分区 2,Xubuntu ISO):
mkdir -p /tmp/usbp2
mkdir -p /tmp/XubuntuISO
02 - 将 USB 安装到临时文件夹)
mount /dev/sdh2 /tmp/usbp2
03 - 挂载 ISO 并将目录更改为 Temp 文件夹:
mount xubuntu-16.04.2-desktop-i386.iso /tmp/XubuntuISO -o loop ; cd /tmp/XubuntuISO
04 – 将以下文件夹/文件复制到 USB 分区 2:
cp -rf casper dists install pics pool preseed .disk README.diskdefines /tmp/usbp2/
05 - 将“isolinux”像“syslinux”一样复制到 USB 分区 2 上
cp -rf isolinux /tmp/usbp2/syslinux
06 - 将 isolinux 配置文件重命名为 syslinux:
cd /tmp/usbp2/syslinux
mv isolinux.cfg syslinux.cfg
mv isolinux.bin syslinux.bin
07 - 通过 sed 和 echo 修改文件“txt.cfg”以删除“/cdrom”并添加持久标签和选项
cat txt.cfg | sed 's/\/cdrom//g' >> /tmp/txt.cfg
su -c "rm -rf txt.cfg" root
su -c "cp -f /tmp/txt.cfg /tmp/usbp1/syslinux/txt.cfg" root
su -c "rm -rf /tmp/txt.cfg" root
sed '0,/live/s//persistent/' txt.cfg >> /tmp/txt.cfg
echo 'label persistent' >> /tmp/txt.cfg
echo ' kernel /casper/vmlinuz' >> /tmp/txt.cfg
echo ' append file=/preseed/xubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash ---' >> /tmp/txt.cfg
su -c "cp -f /tmp/txt.cfg /tmp/usbp2/syslinux/txt.cfg" root
编辑“syslinux.cfg”
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
MENU HIDDEN
include menu.cfg
default live
prompt 0
timeout 1
编辑“exithelp”文件:
label menu
kernel vesamenu.c32
config syslinux.cfg
08-卸载分区:
cd ; umount /tmp/usbp2
syslinux /dev/sdh2
09 – 使其可启动:
ms-sys -s /dev/sdh
10 - 使用“kvm”或“qemu-kvm”进行测试(取决于发行版)
kvm -hda /dev/sdh -m 512 -vga std -usbdevice tablet
不知道 :
1 - 我应该怎么做才能让 USB 直接在“试用 Xubuntu”中启动,而不是在实时会话中启动,要求“试用 Xubuntu”或“安装 Xubuntu”
2 - 当实时会话启动时,我应该如何自动安装“casper-rw”?
3 –(X)Ubuntu 有一种类似 Porteus 的方法,用于制作定制的 ISO 以制作 Live Distro,我知道我需要哪个应用程序?
我真的很想用 Slackware 来做到这一点,但我不知道如何使用 Slackware 实现持久性和实时 USB xD。
谢谢您给予我的任何答复。
答案1
邓诺斯
1)对于 32 位系统,使用以下命令覆盖 syslinux.cfg:
default live
label live
say Booting an Ubuntu Persistent session...
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --
对于 64 位使用:
default live
label live
say Booting an Ubuntu Persistent session...
kernel /casper/vmlinuz.efi
append file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --
2) 执行上述 1) 后,应在启动持久系统时自动挂载 casper-rw。
3) 自定义 ISO 已在 Ask Ubuntu 的其他地方介绍过。
4) 不确定 Slackware 是否是这里允许的主题。
答案2
感谢您的回答,我将以下内容放在文件中
txt.cfg:
default live
label live
menu label ^Try Xubuntu without installing
kernel /casper/vmlinuz
append file=/preseed/xubuntu.seed boot=casper ipv6.disable=1 languagechooser/language-name=Spanish countrychooser/shortlist=ES localechooser/supported-locales=es_ES.UTF-8 initrd=/casper/initrd.lz locale=es_ES bootkbd=es console-setup/layoutcode=es quiet splash ---
label persistent
menu label ^Try Xubuntu without installing
kernel /casper/vmlinuz
append file=/preseed/xubuntu.seed boot=casper persistent ipv6.disable=1 languagechooser/language-name=Spanish countrychooser/shortlist=ES localechooser/supported-locales=es_ES.UTF-8 initrd=/casper/initrd.lz locale=es_ES bootkbd=es console-setup/layoutcode=es quiet splash ---
label live-install
menu label ^Install Xubuntu
kernel /casper/vmlinuz
append file=/preseed/xubuntu.seed boot=casper only-ubiquity ipv6.disable=1 languagechooser/language-name=Spanish countrychooser/shortlist=ES localechooser/supported-locales=es_ES.UTF-8 initrd=/casper/initrd.lz locale=es_ES bootkbd=es console-setup/layoutcode=es quiet splash ---
label check
menu label ^Check disc for defects
kernel /casper/vmlinuz
append boot=casper integrity-check initrd=/casper/initrd.lz quiet splash ---
label memtest
menu label Test ^memory
kernel /install/mt86plus
label hd
menu label ^Boot from first hard disk
localboot 0x80
在 syslinux.cfg 上
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
MENU HIDDEN
include menu.cfg
default live
prompt 0
timeout 1
退出帮助文件
label menu
kernel vesamenu.c32
config syslinux.cfg
现在我试图回忆,几年前我是如何使用 USB 记忆棒上的 grub2 来启动 32 位或 64 位的,因为我在 USB 记忆棒的一个分区上有两个 ISOS。我记得我在 USB 记忆棒的第二个分区上有这些文件,而第一个分区则是相同的 nfts 格式。
我注意到,如果第一个分区是 FAT32 或 NTFS,则持久性混合安装会花费大量时间来启动,有时会损坏 USB 棒的启动,只是在启动过程中挂起。当我对第一个分区使用“NTFS”格式时,我更喜欢不放置标签“casper-rw”。我只放置标签“Inukaze”(我的用户名)xD