如何在从 USB Live Session 启动时绕过“试用/安装”屏幕?(无需在 USB 中安装)

如何在从 USB Live Session 启动时绕过“试用/安装”屏幕?(无需在 USB 中安装)

这个问题已经被问过好几次了(我发现这里这里这里),但基本上每个人都建议在 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)

  1. 安装安装了 Ubuntu 的 USB
  2. 备份文件syslinux/syslinux.cfg。我们将对其进行修改,因此如果出现问题,我们需要将其替换回来。
  3. 打开 syslinux 目录下的以下文件syslinux.cfgtxt.cfg
  4. 删除(或注释)中的所有内容syslinux.cfg
  5. 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 --
    
  6. 您可以在附加行中添加设备所需的任何特定内核参数。

  7. 保存 isolinux.cfg 并使用 USB 启动系统。现在它将直接启动到桌面。

实时 USB (13.10)

  1. 安装安装了 Ubuntu 的 USB
  2. 备份文件isolinux/isolinux.cfg。我们将对其进行修改,因此如果出现问题,我们需要将其替换回来。
  3. 打开 isolinux 目录下的以下文件isolinux.cfgtxt.cfg
  4. 删除 中的所有内容isolinux.cfg
  5. 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 --
    
  6. 您可以在附加行中添加设备所需的任何特定内核参数。

  7. 保存 isolinux.cfg 并使用 USB 启动系统。现在它将直接启动到桌面。

[来源]

实时 USB (11.04)

  1. 进入 Live USB 的根文件夹
  2. 进入syslinux目录
  3. 使syslinux.cfg文件可写
  4. 将文件内容替换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 --
    
  5. 可选:本地化系统(见下文)

现场 CD

  1. 如果你的 CD 驱动器中有 Live CD,请将其挂载。否则,如果你有可用的 ISO 文件,请/media/cdrom通过运行以下命令将其挂载终端(相应地替换文件的名称.iso):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. 创建一个临时目录来存储 CD 内容,例如~/live-cdmkdir ~/live-cd
  3. 将 CD 的内容复制到文件夹~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. 由于不再需要 Live CD,因此可以将其卸载(sudo umount /media/cdrom
  5. 打开~/live-cd/iso文件夹 ( cd ~/live-cd/iso)
  6. 进入isolinux目录(cd isolinux
  7. 使isolinux.cfg文件可写(chmod u+w isolinux.cfg
  8. 将文件内容替换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 --
    
  9. 可选:本地化系统(见下文)
  10. 打开终端并运行:

    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
    
  11. 新的 iso 将在 处提供~/live-cd/ubuntu-11.04-live-amd64.iso。为了节省空间,~/live-cd/iso可以删除该目录。(rm -rf ~/live-cd/iso
  12. 如果需要的话,现在将ubuntu-11.04-live-amd64.iso文件刻录到 CD 上。

本地化 Ubuntu (翻译)

如果您希望系统使用英语、西班牙语、葡萄牙语、科萨语或简体中文,则只需locale=在启动选项中添加enes、或 ,pt如下所示:xhzhappend

... quiet splash locale=pt --

否则,如果您不想修改包含根文件系统的文件(filesystem.squashfs)并且不介意进行修改,请继续阅读。

打开终端并导航到~/live-cd/iso目录,并将代码从http://pastebin.com/VTdt9WFZ在文件(命名install-locale)中并运行它。

此脚本会挂载filesystem.squashfs,从中检索语言包的版本信息,下载包并将其放在 目录中locale-hack。接下来,创建一个在启动时安装语言包的脚本。为了实现该功能,该脚本还会修改syslinux.cfgisolinux.cfg文件以应用这些更改。

系统会要求您输入语言环境,例如nlde。脚本并不聪明,无法理解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 文件夹)

我经常这样做

相关内容