这个问题已经被问过好几次了(我发现这里,这里和这里),但基本上每个人都建议在 USB 上进行完整安装。但我确实需要它保持为 LIVE 会话,而不是“在 USB 上的完整安装”,原因有很多(最重要的原因是使用 Live 会话我可以轻松使用桌面图标安装 Ubuntu)
因此,我跳过欢迎屏幕(并自动选择“尝试 Ubuntu”选项)的限制是:
它实际上必须是 Ubuntu Live 会话(或尽可能接近默认值)。相同的软件选择(例如,gparted 存在于 live 会话中,gimp 不存在)、用户(名称和 ID)、行为(没有登录屏幕、没有密码
sudo
,仅举几例)、没有 GRUB 等。这排除了在 USB 上完整安装 Ubuntu 的可能性。它必须能够在计算机上安装 Ubuntu(而完整安装需要 ISO 文件、额外的 USB 记忆棒以及启动盘创建器的麻烦)
如果可能的话,要像“基于文本的启动器”(内核加载后立即按下某个键时出现的启动器)一样快
它必须是完全自动的,从启动到桌面无需人工干预。
选择与默认语言不同的语言。它可以是硬性选择(实际上,它必须如此,因为启动本身应完全无人值守)。但最好是易于更改的(“易于”是指编辑配置文件然后重新启动)
是否可以?
到目前为止我已经排除的提议的(很好的)解决方案是:
在 USB 驱动器中安装 Ubuntu(出于上述所有原因)
删除
Ubiquity
包(它也会删除从该 USB 安装系统的能力)Ubuntu 定制套件(ubk):一些限制和注意事项,它甚至不在存储库中
Remastersys/LiLi:它与完全直接 USB 安装相同,只是进行了定制。
理想的解决方案是“使用启动盘创建器创建 USB 设备,然后打开它并删除/编辑/添加文件 xxx、yyy、zzz”
答案1
本指南适用于 Ubuntu (Gnome)。除了少数例外,它也适用于 Kubuntu (KDE)
我已经能够让 Live CD 直接启动到 Live 会话,无需超时或花哨的菜单,还可以选择安装语言包。
实时 USB (16.04)
- 安装安装了 Ubuntu 的 USB
- 备份文件
syslinux/syslinux.cfg
。我们将对其进行修改,因此如果出现问题,我们需要将其替换回来。 - 打开 syslinux 目录下的以下文件
syslinux.cfg
:txt.cfg
- 删除(或注释)中的所有内容
syslinux.cfg
。 该
txt.cfg
文件具有默认的 GRUB 菜单项。将实时文件复制到syslinux.cfg
:default live label live menu label ^Try Ubuntu without installing 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 --
您可以在附加行中添加设备所需的任何特定内核参数。
- 保存 isolinux.cfg 并使用 USB 启动系统。现在它将直接启动到桌面。
实时 USB (13.10)
- 安装安装了 Ubuntu 的 USB
- 备份文件
isolinux/isolinux.cfg
。我们将对其进行修改,因此如果出现问题,我们需要将其替换回来。 - 打开 isolinux 目录下的以下文件
isolinux.cfg
:txt.cfg
- 删除 中的所有内容
isolinux.cfg
。 该
txt.cfg
文件具有默认的 GRUB 菜单项。将实时文件复制到isolinux.cfg
:default live label live menu label ^Try Ubuntu without installing 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 --
您可以在附加行中添加设备所需的任何特定内核参数。
- 保存 isolinux.cfg 并使用 USB 启动系统。现在它将直接启动到桌面。
[来源]
实时 USB (11.04)
- 进入 Live USB 的根文件夹
- 进入
syslinux
目录 - 使
syslinux.cfg
文件可写 将文件内容替换
syslinux.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 noprompt --
- 可选:本地化系统(见下文)
现场 CD
如果你的 CD 驱动器中有 Live CD,请将其挂载。否则,如果你有可用的 ISO 文件,请
/media/cdrom
通过运行以下命令将其挂载终端(相应地替换文件的名称.iso
):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 (翻译)
如果您希望系统使用英语、西班牙语、葡萄牙语、科萨语或简体中文,则只需locale=
在启动选项中添加en
、es
、或 ,pt
如下所示:xh
zh
append
... 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。但对于虚拟机来说,这已经足够了。此 hack 的副作用是 Plymouth 无法工作(即您无法看到漂亮的启动屏幕),但至少系统在登录时会被翻译。否则,您必须language-pack-gnome-*
手动安装。
参考
答案2
以上方法对于启动盘创建器和 UNetbootin 安装都非常有用。如果您使用的是持久闪存驱动器,则需要添加“persistent”一词,如下所示:
default live
label live
say Booting an Ubuntu Live 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 Live session...
kernel /casper/vmlinuz.efi
append file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --
答案3
在 14.04 或更早版本中,Ubiquity 使用 upstart 来启动。您可以通过修改 来禁用此功能/etc/init/ubiquity.conf
。
1) 如果您没有使用 Live 安装本身,请首先挂载 casper-rw:
# Mount the usb_drive manually if nautilus has not done it for you
# Change sdb1 to the proper location of your usb drive, find it using sudo blkid
sudo mkdir /media/$USER/usb_drive
sudo mount /dev/sdb1 /media/$USER/usb_drive
# Create a mount point for the read-write file system and mount via loopback
sudo mkdir /media/$USER/casper-rw
sudo mount -o loop /media/$USER/usb_drive/casper_rw /media/$USER/casper-rw
cd /media/$USER/casper-rw
2)etc/init/ubiquity.conf
在 Live 安装中编辑并注释掉以下几行:
#start on (starting gdm
# or starting kdm
# or starting xdm
# or starting lxdm
# or starting lightdm)
如果您要重制磁盘,您只需ubiquity.conf
在 squashfs 系统中编辑主磁盘即可。然后,Ubiquity 将在重新启动后完全不再影响您。
3)卸载驱动器
sudo umount /media/$USER/*
答案4
您不想要 remastersys 的原因是什么?您可以安装操作系统,使用 remastersys 制作 iso,提取 squashfs 文件并替换原版 iso 上的文件(或预制的 usb 文件夹)
我经常这样做