在linux中修改grub.conf文件

我编辑了我的linux系统的'grub.conf'文件,并改变了它的'timeout'值,并添加了一些其他的行,以解决'xm console guest'命令的超时问题。 我很愚蠢的认为,grub.conf中的'timeout'参数实际上与'xm console timeout'相关,并将其更改为非常大的值。 所以这导致了一个很大的问题。 现在,当我重新启动我的Linux机器时,即使在手动select内核启动后,它仍然在启动屏幕上挂起。

所以基本上我想撤销我在grub.conf文件中引导或通过grub进行的更改。 或者以某种方式强制系统启动一次,然后撤消更改。 我无法做到这一点。 一种方法是在救援模式下从Linux CD启动并撤消它,但由于它是XEN上的虚拟机,所以我无法做到这一点,而且我无法从外部CDfind启动它的方法。

有没有办法解决我创build的混乱?

您可以使用losetup在主机上挂载losetup

 sudo losetup -o32256 /dev/loop0 /path/to/harddiskimage.xm sudo mount /dev/loop0 /media/mydisk 

-o表示引导扇区的偏移量。 这通常是32256,但是,如果客人有多个分区,则可以更改。

要确定你的抵消是什么,你可以做到以下几点:

 sudo losetup -d /dev/loop0 sudo losetup /dev/loop0 /path/to/harddiskimage.xm sudo fdisk -ul /dev/loop0 

它将显示Units数量和sector/track 。 只需乘以这两个来获得偏移量。

完成后,编辑挂载文件夹中的grub.conf,可以卸载它:

 sudo umount /dev/loop0 sudo losetup -d /dev/loop0 

在select一个选项之前,您可以从grub菜单中编辑引导选项。 我相信你按“e”编辑条目。 然后,您可以将该引导的选项更改为不同的内容。

一旦你被引导到系统中,你可以再次编辑你的grub.conf文件。

我不知道“Bart De Vos”作品提及的程序,因为我没有尝试过,因为我find了一个确实可行的程序。 Approcah类似于挂载guest的filesytem然后编辑它。

请按照以下步骤安装映像文件:

  1. 首先在dom-0上启动vgscan命令,它会给你当前在dom-0上激活的逻辑卷。 现在你可以放心地假设这个命令显示的这个卷号是你的dom-0机器,而不是任何guest。

  2. 现在执行kpartx -av /var/lib/xen/images/$machine_name.img该命令将映射VM映像文件的循环,并激活guest虚拟机的VolumeGroup。

  3. 现在再次使用fire vgscan命令,除了在步骤1中看到的内容之外,还会看到另外一个VolGroup。现在可以确定这是您的guest虚拟机的卷组。

  4. 现在您应该知道VolumeGroup中的逻辑卷成功安装它。 对于这个消息,命令vgchange -ay / VolGroup00(在步骤2中新创build的卷组)/

  5. 现在执行lvs命令,这会给你VolGroup中的逻辑卷。

  6. 现在创build一个挂载点并挂载你想要挂载的任何逻辑卷,如下所示

    mount / dev / VolGroup00 / LogVol00 $ mount_path

  7. 现在,您可以通过这种方式访问​​Guest虚拟机的任何目录,并修改所需的任何configuration。 一旦你完成,你可以按照相反的程序

    a)挂载$ mount_path

    b)vgchange-VolGroup00

    c)kpartx -d /var/lib/xen/images/$machine_name.img

你完成了