这个指南是为Ubuntu(Gnome)制作的。对于Kubuntu(KDE),也适用,只有少数例外。
我已经成功让Live CD直接启动到一个无超时或花哨菜单的Live会话中,还可以选择安装语言包。
Live USB(16.04)
- 将安装有Ubuntu的USB插入
- 备份文件
syslinux/syslinux.cfg
。我们将对其进行修改,所以如果出现问题,需要将其替换回来。
- 打开syslinux目录下的以下文件:
syslinux.cfg
和txt.cfg
- 删除(或注释)
syslinux.cfg
中的所有内容。
txt.cfg
文件包含默认的GRUB菜单项。将其中的live项复制到syslinux.cfg
中:
default live
label live
menu label ^尝试Ubuntu而不进行安装
kernel /casper/vmlinuz.efi
append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
您可以在append行中添加适用于您设备的任何特定内核参数。
- 保存isolinux.cfg并使用USB启动系统。现在它将直接引导到桌面。
活动USB(13.10)
- 将带有Ubuntu安装的USB插入
- 备份文件
isolinux/isolinux.cfg
。我们将对其进行修改,所以如果出现问题,需要替换回来。
- 打开isolinux目录下的以下文件:
isolinux.cfg
和txt.cfg
- 删除
isolinux.cfg
中的所有内容。
txt.cfg
文件包含默认的GRUB菜单项。将live项拷贝到isolinux.cfg
:
default live
label live
menu label ^尝试Ubuntu无需安装
kernel /casper/vmlinuz.efi
append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
您可以在append行中添加适用于您设备的任何特定内核参数。
- 保存isolinux.cfg并使用USB启动系统。它将直接引导到桌面。
【source】
活体 USB(11.04)
- 进入您的Live USB的根文件夹
- 进入
syslinux
目录
- 将
syslinux.cfg
文件设为可写
用以下内容替换syslinux.cfg
文件的内容:
default live
label live
say 正在启动Ubuntu Live会话...
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash noprompt --
- 可选:本地化系统(见下文)
现场光盘
- 如果您的CD驱动器中有一个Live CD,请挂载它。否则,如果您有一个ISO文件可用,请通过在终端(根据实际文件名替换
.iso
)运行下一个命令将其挂载到/media/cdrom
:
sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
- 创建一个临时目录以存储CD内容,例如
~/live-cd
(mkdir ~/live-cd
)
- 将CD的内容复制到文件夹
~/live-cd/iso
中(cp -r /media/cdrom ~/live-cd/iso
)
- 由于不再需要Live CD,可以卸载它(
sudo umount /media/cdrom
)
- 打开
~/live-cd/iso
文件夹(cd ~/live-cd/iso
)
- 进入
isolinux
目录(cd isolinux
)
- 使
isolinux.cfg
文件可写(chmod u+w isolinux.cfg
)
- 使用以下内容替换
isolinux.cfg
文件的内容:
default live
label live
say Booting an Ubuntu Live session...
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
- 可选:本地化系统(见下文)
- 打开终端并运行以下命令:
cd ~/live-cd
chmod u+w iso/isolinux/isolinux.bin
mkisofs -r -V "Ubuntu Live session" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-11.04-live-amd64.iso iso
- 新的ISO文件将位于
~/live-cd/ubuntu-11.04-live-amd64.iso
。为节省空间,可以删除~/live-cd/iso
目录(rm -rf ~/live-cd/iso
)
- 如果需要,现在将
ubuntu-11.04-live-amd64.iso
文件刻录到CD上。
本地化Ubuntu(翻译)
如果您希望系统使用英语、西班牙语、葡萄牙语、科萨语或简体中文,只需在append
行中添加locale=
引导选项,后面跟上en
、es
、pt
、xh
或zh
,如下所示:
... quiet splash locale=pt --
否则,如果您不想修改包含根文件系统(filesystem.squashfs)的文件,并且不介意绕过一些限制,请继续阅读。
打开终端并导航到~/live-cd/iso目录,将
http://pastebin.com/VTdt9WFZ中的代码放入一个文件中(命名为install-locale),然后运行它。
该脚本会挂载filesystem.squashfs,从中获取语言包的版本信息,下载这些软件包并将其放入locale-hack目录中。接下来,创建一个脚本,在启动时安装语言包。为了使其生效,脚本还会修改syslinux.cfg或isolinux.cfg文件以应用这些更改。
您将被要求输入区域设置,可以输入类似nl或de的内容。该脚本并不聪明,无法理解Dutch或German之类的词汇。完成后,可以删除该文件。
需要执行的终端命令如下:
cd ~/live-cd/iso
wget http://pastebin.com/raw.php?i=VTdt9WFZ -O install-locale
bash install-locale
rm install-locale
请注意,添加语言包可能会导致生成的.iso文件大于700MB,无法放入CD中。但对于虚拟机来说,这是足够的。这种方法的副作用是Plymouth不起作用(即您无法获得漂亮的启动屏幕),但至少在登录时系统已经翻译了。否则,您需要手动安装language-pack-gnome-*。
参考资料:
- Syslinux示例:
Syslinux example
- Ubuntu帮助文档:自定义磁盘/刻录:
Ubuntu Help on custominizing a disk / burning it