0%

解决Linux开机提示Cannot open access to console.

更改分区表,重启之后无法开机,提示Cannot open access to console, the root account is locked.

错误原因

在分区之后,误把扩展分区写到了分区表配置文件/etc/fstab中(应该是把逻辑分区写到分区表),导致开机无法进入系统。提示信息如下:

Cannot open access to console, the root account is locked.
See sulogin(8) man page for more details.

Press Enter to continue.

根据提示按下回车后,会重复显示上面这段提示。

解决方式

把硬盘挂载到另一台Linux主机,然后修正分区表,再把硬盘装回去即可。

具体步骤:

  1. 把硬盘拆下来,装到另外一台Linux电脑。

    如果没有Linux主机,可以在Windows下安装虚拟机,把硬盘挂载到虚拟机的Linux主机中。

  2. 在Linux主机中使用命令sudo fdisk -l查看磁盘列表:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    [root@localhost ~]#  sudo fdisk -l

    ......

    Disk /dev/sdc: 128.0 GB, 128035676160 bytes, 250069680 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 33553920 bytes
    Disk label type: dos
    Disk identifier: 0x5e3da3da

    Device Boot Start End Blocks Id System
    /dev/sdc1 8192 532479 262144 c W95 FAT32 (LBA)
    /dev/sdc2 532480 31116287 15291904 83 Linux
    /dev/sdc3 31129125 94042724 31456800 83 Linux
    /dev/sdc4 94042725 250069679 78013477+ 5 Extended
    /dev/sdc5 94108260 104593859 5242800 83 Linux

    ......

    通过容量128G可以确定刚刚插上的硬盘是/dev/sdc

  3. 创建一个目录,把第二个分区/dev/sdc2/挂载到这个目录。

    1
    2
    3
    4
    5
    6
    [root@localhost ~]#  mkdir /bad_linux
    [root@localhost ~]# mount /dev/sdc2 /bad_linux
    [root@localhost ~]# cd /bad_linux
    [root@localhost ~]# ls /bad_linux
    bin debug etc lib media opt root sbin srv tmp var
    boot dev home lost+found mnt proc run share_disk sys usr work

    挂载之后就可以看得到原系统的目录。

  4. 编辑并修正分区表配置文件etc/fstab,并保存。

  5. 取消挂载:umount /bad_linux/,然后拔下磁盘装回原主机即可开机。