我编辑了我的
linux系统的’grub.conf’文件并更改了其中的’timeout’值并添加了一些其他行以解决’xm console guest’命令的超时问题.我很愚蠢地认为grub.conf中的’timeout’参数实际上与’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
-o指引导扇区的偏移量.这通常是32256,但是如果您在guest虚拟机上有多个分区,则可以更改.
要确定您的偏移量,您可以执行以下操作:
sudo losetup -d /dev/loop0 sudo losetup /dev/loop0 /path/to/harddiskimage.xm sudo fdisk -ul /dev/loop0
它将显示单位和扇区/轨道的数量.只需乘以这两个来获得偏移量.
完成后,编辑已安装文件夹中的grub.conf,可以卸载它:
sudo umount /dev/loop0 sudo losetup -d /dev/loop0