误删除了/ etc / fstab文件


15

我不小心/etc/fstab通过运行删除了我的文件sudo rm /etc/fstab。没有意识到自己要做的事情,我关闭了Ubuntu OS。

现在,我无法启动。

在此处输入图片说明

我的屏幕看起来像这样。在某些情况下,会出现紫色屏幕。请给我一些解决方案。

Answers:


18

您必须fstab/etc目录内重新创建一个新文件,并为根分区添加一个条目,以便Ubuntu操作系统启动。

方法1:

通过恢复模式重新创建/ etc / fstab文件

  1. 引导到恢复模式,然后放到root shell。

  2. 运行sudo blkid命令以了解您的/(根)分区的UUID。它将显示如下内容,

    /dev/sda1: UUID="52e062e0-716c-4828-9bf1-05b93fdaef93" TYPE="ext4"
    /dev/sda1: UUID="2F4DAFCF02D7EBEB" TYPE="ntfs" 
    /dev/sda3: UUID="039E0CF305398945" TYPE="ntfs" 
    /dev/sda5: UUID="C68C57908C5779BF" TYPE="ntfs" 
    
  3. sudo blkid输出中,标识您的ext4根分区,并记下其相应的UUID。

  4. 现在/通过运行以下命令以读写模式挂载分区。请注意,mount /由于删除了,用于挂载根分区的简单命令将无法工作/etc/fstab。因此,如果您//dev/sda1,请运行以下命令:

    mount -t ext4 -o rw,remount /dev/sda1 /
    
  5. 上面的命令将挂载/分区读写mode.Run下面的命令来创建一个新的fstab文件中/etc使用适当的线来安装你的/。在上面的示例中,我的/has UUID=52e062e0-716c-4828-9bf1-05b93fdaef93,所以我将运行:

    echo "UUID=52e062e0-716c-4828-9bf1-05b93fdaef93 / ext4 errors=remount-ro 0 1" > /etc/fstab
    
  6. 从根shell退出并启动您的Ubuntu OS,它肯定会启动。

方法二

通过Ubuntu Live磁盘重新创建/ etc / fstab文件

  1. 启动ubuntu活动磁盘。

  2. 运行sudo blkid命令并记下已安装的Ubuntu分区的设备ID和UUID。

  3. 挂载您的根分区,

     sudo mkdir /media/ubuntu
     sudo mount /dev/sdaX /media/ubuntu
    
  4. 现在进入/media/ubuntunautilus并fstab在里面创建一个文件/etc

  5. 在该fstab文件上,为您的根分区添加一个条目,如下所示。

     UUID=52e062e0-716c-4828-9bf1-05b93fdaef93 / ext4 errors=remount-ro 0 1
    
  6. 保存该文件,然后启动到已安装的Ubuntu中。

注意:上面给出了我的根分区的UUID,请fstab输入您的根分区。启动到已安装的Ubuntu OS后,不要忘记为交换分区添加条目。


2
您不需要为此而使用chroot。您可以编写不带fstab的fstab(仅挂载),并且这样会造成更多问题。我放下
奥利(Oli)

1
该方法将不起作用,因为您将丢失fstab,因此将无法放置到根shell。正如Oli所指出的,chroot有点多,使修复变得比它需要的复杂。只需引导一个实时CD,挂载/分区,然后编写一个fstab。您可能还希望包括交换条目;)另请参见-help.ubuntu.com/community/Fstab
Panther

@ bodhi.zazen我在维护模式下执行第一种方法。请参阅i.stack.imgur.com/KB6Xp.png
Avinash Raj

没有fsatb,您将无法运行bash,您将只能使用有限的命令放到忙碌框(仅initrd中的命令)。与chroot一样,当然可以,但是要比直接启动实时映像要困难得多。
2014年

@ bodhi.zazen请参阅i.stack.imgur.com/2CWDf.png
Avinash Raj
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.