![使用 Pinguy Builder 自定义 Ubuntu 16.04 安装程序无法使用 Live CD 登录](https://linux22.com/image/1144643/%E4%BD%BF%E7%94%A8%20Pinguy%20Builder%20%E8%87%AA%E5%AE%9A%E4%B9%89%20Ubuntu%2016.04%20%E5%AE%89%E8%A3%85%E7%A8%8B%E5%BA%8F%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20Live%20CD%20%E7%99%BB%E5%BD%95.png)
我使用 Pinguy Builder 创建了一个 iso,并使用了 Startup Disk Creator 和 Etcher 创建了可启动的 USB 外部硬盘。没有错误,启动正常,但无法登录。我用来创建 iso 的原始 Ubuntu 安装显示了我的名字,即 John Smith,并要求输入密码,它也显示为访客会话。我的用户目录是 john,在终端模式下,它显示提示符为 john@john-HP-Notebook。如果我输入 whoami,它会告诉我我是 john。
我已经尝试了使用 john、john@john-HP-Notebook、guest 的所有组合,并且知道 linux 区分大小写,我还尝试了默认设置,例如 Ubuntu/blank、ubuntu/blank、ubuntu/ubuntu、Ubuntu/ubuntu - 我可以轻松登录创建 iso 的系统,但无法登录从 iso 创建的系统 - 束手无策 - 请帮助 - 谢谢大家
进一步调查后发现,使用 Pinguy builder 如果使用 dist 选项,从 usb/cd 启动时似乎不需要用户或密码,但如果您使用备份,则必须输入创建 iso 的系统的用户/密码 - 但是它实际上并不匹配任何组合,因此您无法登录到备份系统 - 此外,它会记住这些设置,因此在备份 dist 系统后,还需要原始系统的用户/密码,这似乎是一个错误 - 如果您创建一个新的发行版,则不必将您的用户/密码提供给所有用户 - 但这并不重要,因为即使使用您的用户/密码您也无法登录,所以如果有人知道 pinguy builder 备份使用什么用户密码,那就太好了,这样我就可以使用我的备份系统了......
答案1
这为我解决了这个问题:
问题是 VirtualBox 将用户(共享文件夹的 vbox_sf)设置为用户 ID 999。但 casper(控制“live cd 系统”的应用程序)也将 Pinguy Builder 用户 ID 硬编码为 999!因此,这意味着永远不会创建“live”用户(因为 999 已经存在!)。解决方案是为 casper 创建的用户提供不同的 uid。
此终端命令将自动为您进行更改:
sed -i -e 's@user-uid [0-9]*@user-uid 990@' /usr/share/initramfs-tools/scripts/casper-bottom/25adduser
为了解释此命令,我在 25adduser 文件中将“user-uid 999”更改为“user-uid 990”。如果您愿意,您可以手动进行编辑,但我认为其他人可能会喜欢使用 sed 单行命令来完成此操作自动地。
修复之后,启动实时系统时我不再面临“登录屏幕”:它会像应该的那样自动登录!
确实应该有一个 Casper 补丁来摆脱硬编码的 uid,也许它可以是 /etc/PinguyBuilder.conf 中的 Pinguy Builder 变量,但现在可以将该 uid 更改为其他内容999 以外的似乎有效!