当前位置: 首页>>技术教程>>正文


Ubuntu 14.04在错误消息后无法启动。/tmp无法安装

ubuntuer 技术教程 , , , , 去评论

问题描述

我最近使用WUBI安装了Ubuntu 14.04,并在安装后启动时显示错误:

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

有三种选择:

press [I] to ignore, press [S] to skip mounting and press [M] to mount manually. 

按下I后,显示/tmp无法安装,我的Ubuntu无法启动。

  • 任何人都可以指导我如何解决这个问题?

最佳解决思路

  1. 在Windows启动管理器中,选择Ubuntu。

  2. 按任意键,进入GNU Grub2菜单。

  3. 您可以按”e”编辑GRUB2启动项。

您需要将GRUB2引导条目从”ro”更改为”rw”,

例如

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

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

F10,您可以在Ubuntu 14.04中启动。

你可以修复GRUB2启动项:

sudo vi /etc/grub.d/10_lupin

换行:

linux   ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} ro ${args}

至:

linux   ${rel_dirname}/${basename} root=${LINUX_HOST_DEVICE} loop=${loop_file_relative} rw ${args}

重新生成GRUB2引导条目:

sudo update-grub

次佳解决思路

临时修复 – 覆盖root.disk初始安装到rw(读/写)而不是ro(read-only)是好的。这是在14.04安装(或升级)后启动Wubi的唯一方法。

但是,与永久修改挂载到读/写相比,有一个更好的长期修复。最好修改循环设备的创建方式,以便重新安装为read-write。这将允许您使用恢复模式。

如图所示修改文件/usr/share/initramfs-tools/script/local(删除一行,添加三行):

--- /home/bcbc/local   2014-11-19 20:25:12.274837304 -0800
+++ /usr/share/initramfs-tools/scripts/local   2014-11-19 20:28:37.990832807 -0800
@@ -143,7 +143,9 @@
        modprobe ${FSTYPE}

        # FIXME This has no error checking
-       mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/host/${LOOP#/}" ${rootmnt}
+       loopdev=`losetup -f`
+       losetup ${loopdev} "/host/${LOOP#/}"
+       mount ${roflag} -t ${FSTYPE} ${LOOPFLAGS} ${loopdev} ${rootmnt}        

        if [ -d ${rootmnt}/host ]; then
            mount -o move /host ${rootmnt}/host

进行更改后,更新初始ramdisk:

sudo update-initramfs -u

有关其他信息,请参阅修复程序,请参阅:https://code.launchpad.net/~noorez-kassam/ubuntu/utopic/initramfs-tools/fix-for-1317437/+merge/219927

警告:显然,如果您在应用此修复程序时进行了一些拼写错误,则可能会阻止您的安装启动。所以谨慎行事。如果不确定,请使用更简单的Grub覆盖。确保对loopdev=行使用`quote,not’。

如果您尝试此操作并遇到问题,可以尝试以下几种方法:

  1. 如果您有多个内核,请转到Recovery菜单并选择一个较旧的内核(使用它自己的initramfs)。

  2. 您可以备份initramfs(更新前),然后通过实时DVD /USB复制它。

  3. 您可以在chroot中重建initramfs,但这有点牵扯。

如果是全新安装,那么重新安装是您的最佳选择。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/3022.html,未经允许,请勿转载。

相关文章