我已经提取了一个 arm64 ubuntu 服务器 16.04图像没有互联网连接。我可以启动它,但无法使用 root 或 ubuntu 登录串行控制台。离线时,我修改了 /etc/passwd 和 /etc/shadow 文件以获取“root::....”但它仍然拒绝我登录:
Ubuntu 16.04.1 LTS ubuntu ttySAC3
ubuntu login: root
Login incorrect
我只想登录!我该怎么做?
答案1
由于您可以清楚地进入文件系统并修改文件,因此将映像作为目录安装后,请尝试以 root 身份在 hist 上执行此操作:
chroot /path/to/image
然后当你运行时passwd
,它应该会更改 root 的密码在图像中,而不是在主机上。使用exit
离开chroot
。通过使用passwd
,您可以修复手动更改密码可能存在的任何问题。
答案2
奇怪的是,离线修改 passwd 和 shadow 文件是不够的。我也无法 chroot。
解决方案是使用 cloud-localds 设置后启动 qemu 映像,通过 ssh 登录,在虚拟机内执行 passwd,然后使用 qemu 实用程序复制 rootfs。