我编辑了我的 linux 系统的 'grub.conf' 文件并更改了其中的 'timeout' 值并添加了一些其他行以解决 'xm console guest' 命令的超时问题。我愚蠢地假设 grub.conf 中的这个“超时”参数实际上与“xm 控制台超时”相关并将其更改为非常大的值。所以这让我遇到了一个大问题。现在,当我重新启动我的 linux 机器时,即使在手动选择要启动的内核后,它也只是挂在启动屏幕上。
所以基本上我想撤消我在启动或通过 grub 时在 grub.conf 文件中所做的更改。或者以某种方式强制系统启动一次,然后撤消更改。我做不到。一种方法是在救援模式下从 Linux CD 引导并撤消它,但我不能这样做,因为它是 XEN 上的虚拟机,我找不到从外部 CD 引导它的方法。
有什么办法可以解决我造成的混乱吗?
您可以使用以下命令在主机上挂载磁盘文件losetup
sudo losetup -o32256 /dev/loop0 /path/to/harddiskimage.xm
sudo mount /dev/loop0 /media/mydisk
Run Code Online (Sandbox Code Playgroud)
指-o的是引导扇区的偏移量。这通常是 32256,但可以更改,例如,如果来宾上有多个分区。
要确定偏移量是多少,您可以执行以下操作:
sudo losetup -d /dev/loop0
sudo losetup /dev/loop0 /path/to/harddiskimage.xm
sudo fdisk -ul /dev/loop0
Run Code Online (Sandbox Code Playgroud)
Units它将显示和的数量sector/track。只需将这两者相乘即可得到偏移量。
完成后,编辑挂载文件夹中的 grub.conf,即可卸载它:
sudo umount /dev/loop0
sudo losetup -d /dev/loop0
Run Code Online (Sandbox Code Playgroud)