我正在尝试快速重启到另一个 Linux 系统。第一步是内核加载,我让它
sudo kexec --append='$(cat /proc/cmdline)' -l new_kernel.img --reuse-cmdline
sudo kexec -e
工作正常,但只加载内核,而不是整个系统。
如何*.img
使用位于 USB 的操作系统资源挂载文件/
?在内核加载期间更可取,但之后挂载仍然合适。*.img
格式不是必须的,可以先解压
我正在尝试快速重启到另一个 Linux 系统。第一步是内核加载,我让它
sudo kexec --append='$(cat /proc/cmdline)' -l new_kernel.img --reuse-cmdline
sudo kexec -e
工作正常,但只加载内核,而不是整个系统。
如何*.img
使用位于 USB 的操作系统资源挂载文件/
?在内核加载期间更可取,但之后挂载仍然合适。*.img
格式不是必须的,可以先解压
正如斯塔克所说,pivot root() 是我正在寻找的调用。使位于 /dev/sdb1 的 USB 成为根目录的命令:
sudo -s
mkdir /newroot
mount /dev/sdb1 /newroot
cd /newroot
mkdir oldroot
pivot_root . oldroot/
switch_root() 删除上一个根目录中的所有文件,也有一些其他差异,这个答案可能有用