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


引导删除到(initramfs)提示/busybox

, ,

问题描述

我正在运行惠普Pavilion dv6000双启动win7和Ubuntu 12.04。 (好,直到今天)。重启后,启动过程会下降到BusyBox shell ,最终出现提示符:

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs)

我一直在研究其他有这个问题的人,但一直没能找到任何解决方案来为我工作。

我尝试了here描述的方法,并且在最后的命令mount -t ntfs-3g /dev/sda1 /root -o force之后,它什么都不做,并给我另一个(initramfs)提示。

我可以启动到活动CD(USB)并到达终端,但似乎并没有太大的好处,因为我可以在ls命令中看到/dev /sda1,但是当我尝试cd到它。

还有一个问题:使用命令fdisk -l我怎么知道哪个挂载点(sda1 /sda2)是我的Windows分区,哪一个是Ubuntu?

最佳解决思路

在initramfs控制台中,我传递了一个命令出口来出现shell。在我之前提供了相同的控制台,但是这次使用了损坏的分区的确切名称。

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash) 
Enter 'help' for a list of built-in commands.

(initramfs) exit

/dev/mapper/ubuntu--vg-root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
(i.e., without -a or -p options) 
fsck exited with status code 4. 
The root filesystem on /dev/mapper/ubuntu--vg-root requires a manual fsck. 

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) fsck /dev/mapper/ubuntu--vg-root -y

fsck from util-linux 2.27.1
e2fsck 1.42.13 (17-May-2015)
/dev/mapper/ubuntu--vg-root contains a file system with errors, check forced.

检查完成后,我重新启动系统。

BusyBox v1.18.5 (Ubuntu 1:1.18.5-1ubuntu4) built-in shell (ash)
Enter 'help' for a list of built-in commands.

(initramfs) reboot

就这样,我没有任何错误地回到文件系统。

次佳解决思路

看起来你有一个糟糕的超级块。解决这个问题:

首先,启动进入Live CD或USB

通过使用找出你的分区号

sudo fdisk -l|grep Linux|grep -Ev 'swap'

然后,使用以下命令列出所有超级块:

sudo dumpe2fs /dev/sda2 | grep superblock

sda2替换为您的驱动器号码

你应该得到类似的输出

  Primary superblock at 0, Group descriptors at 1-6
  Backup superblock at 32768, Group descriptors at 32769-32774
  Backup superblock at 98304, Group descriptors at 98305-98310
  Backup superblock at 163840, Group descriptors at 163841-163846
  Backup superblock at 229376, Group descriptors at 229377-229382
  Backup superblock at 294912, Group descriptors at 294913-294918
  Backup superblock at 819200, Group descriptors at 819201-819206
  Backup superblock at 884736, Group descriptors at 884737-884742
  Backup superblock at 1605632, Group descriptors at 1605633-1605638
  Backup superblock at 2654208, Group descriptors at 2654209-2654214
  Backup superblock at 4096000, Group descriptors at 4096001-4096006
  Backup superblock at 7962624, Group descriptors at 7962625-7962630
  Backup superblock at 11239424, Group descriptors at 11239425-11239430
  Backup superblock at 20480000, Group descriptors at 20480001-20480006
  Backup superblock at 23887872, Group descriptors at 23887873-23887878

从这个列表中选择一个备用超级块,对于这种情况,备用超级块#32768

现在,使用备用超级块#32768检查和修复Linux文件系统:

sudo fsck -b 32768 /dev/sda2 -y

-y标志用于跳过所有Fix?问题并自动以yes自动回答它们

你应该得到类似的输出:

fsck 1.40.2 (12-Jul-2007)
e2fsck 1.40.2 (12-Jul-2007)
/dev/sda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #241 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #362 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #368 (32254, counted=27774).
Fix? yes
..........
/dev/sda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sda2: 59586/30539776 files (0.6% non-contiguous), 3604682/61059048 blocks

现在尝试安装分区

sudo mount /dev/sda2 /mnt

现在,尝试使用以下命令浏览文件系统

cd /mnt
mkdir test
ls -l
cp file /path/to/safe/location

如果你能够执行上述命令,你很可能已经修复了你的错误。

现在,重新启动你的电脑,你应该可以正常启动。

(source)

第三种解决思路

实际上,解决方案很简单,只需编写fsck /dev/sdax的命令(如下所示),并在控制台要求修复某些内容时提供Y

(initramfs) fsck /dev/sda1

要么

(initramfs) fsck /dev/sdaX

X指定安装的磁盘部件号。

第四种思路

  1. 简单的答案是删除您的硬盘连接到其他系统并启动系统(请不要从您的initramfs错误硬盘启动任何与Ubuntu和gparted安装)。

  2. 启动gparted并选择您的硬盘,然后从右键菜单中选择CHECK。

第五种思路

我只是通过Live CD中的”Parted Magic”工具启动系统来尝试一个幸运的镜头。看看分区,Linux分区上有一些GBytes的”unknown space”。

所以我只是扩大了整个分区的Linux空间,并且从那时起我的Linux就像以前一样启动,而没有任何失败。

参考资料

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