从RO到RW的永久GRUB编辑

我最近在我的笔记本电脑上安装了最新版本的UBUNTU,在启动时遇到了一些问题。

在启动过程中,我收到以下错误:

Serious errors were found while checking the disk drive for /. 

在这里做了一些研究后,我已经能够解决问题,并在进入GRUB引导条目和RO到RW后让UBUNTU正常启动。 例如;

RO:

 linux /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **ro** quiet splash $vt_handoff 

RW:

 linux /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **rw** quiet splash $vt_handoff 

我如何永久编辑它,以便在我启动时不再编辑这个。 我非常感谢任何帮助。 我是这个操作系统的总菜鸟!

要按字面意思回答你的问题:编辑/etc/grub.d/10_linux并将ro更改为rw ,然后运行sudo update-grub 。 这将重新生成在引导时使用的文件/boot/grub/grub.cfg

但是不要这样做ro是正确的设置。 将ro改为rw无济于事。 更改启动选项无法解决您的问题,它通过运行fsck解决。 现在这样做了,文件系统再次可用。

文件系统损坏不应该发生。 你应该寻找腐败的原因。 这可能是一个记忆问题; 运行内存测试(在Grub提示符下选择“内存测试”并保持运行至少一次完整通过,例如过夜)。

您不想编辑GRUB以永久更改rorw 。 您将使某些恢复选项无法运行。 如果你需要其中一个,你可能会遇到问题。 更好的方法是编辑/usr/share/initramfs-tools/scripts/local文件并修改该文件中的一行。 如果您更改了10_lupin10_linux文件,则需要在执行以下操作之前还原更改。

  1. 以超级用户身份在您喜欢的编辑器中打开/usr/share/initramfs-tools/scripts/local文件。 查找如下所示的行:

     mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt} 
  2. 注释掉该行并在该行下面添加以下三行(确保它们与您注释掉的上面一行对齐):

     loopdev=`losetup -f` losetup ${loopdev} "/host/${LOOP#/}" mount ${roflag} -t ${FSTYPE} ${LOOPFLAGS} ${loopdev} ${rootmnt} 
  3. 保存文件并在终端中运行:

     sudo update-grub 

之后,您可以重新启动系统,每当内核更新发生时您都应该很好,并且您将能够使用应该使用的恢复选项。 确保在升级删除更改时备份已编辑的文件。 这样,如果升级设法中断您的更改,您可以复制备份文件中的已修改行并将它们放在正确的位置。

我所做的是:

  • 将root.disk挂载到/dev/1
  • /dev/1/boot/grub/grub.cfg修改了ro到rw
  • 重启
  • 成功加载Ubuntu

细节:

 sudo mkdir /dev/1 sudo mount -t ext4 -o loop /host/ubuntu/disks/root.disk /dev/1 sudo vi /dev/1/boot/grub/grb.cfg 

ro替换为看起来像的线条

 linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro quiet splash 

 linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro quiet splash 
  • 使用wq!保存wq!
  • 重启