引导放到(initramfs)提示符/忙框


204

我正在运行HP 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)

我一直在研究有同样问题的其他人,但还没有找到任何适合我的解决方案。

我尝试了此处描述的方法,并在执行了最后一条命令之后

mount -t ntfs-3g /dev/sda1 /root -o force

它什么也不做,给了我另一个(initramfs)提示。

我可以引导到实时CD(USB)并连接到终端,但这似乎没有什么用,因为我可以在ls命令中看到/ dev / sda1,但是当我看到它时,它无法识别尝试光盘。

另一个问题:使用命令fdisk -l如何确定Windows分区是哪个挂载点(sda1/ sda2),而Ubuntu是哪个分区?


1
这是赢家, BTWcyberciti.biz/faq/…
dpm

3
我不敢相信Canonical尚未实施适当的用户友好型工作流程来解决这种情况:(
knocte 16'7

必须有一个更好的方法来解决此问题。您不需要Live Ubuntu来完成该任务,因为没有它我就设法解决了。我认为即使在,您也可以解决问题(inittramfs)
莱奥波德·赫兹(LéoLéopoldHertz)2016年

4
@Masi实际上,从initramfs运行fsck现在可以在大多数情况下解决此问题,但是在发布此问题时,即使在fsck运行后,该问题仍是最新的ubuntu发行版,该错误再次在启动时显示。
Amith KK

Answers:


206

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

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


13
适用于Ubuntu 16.04
Hastig Zusammenstellen

3
为我工作。但是为什么会发生呢?
2015年

2
宇宙的所有冰雹ramsudharsan救星
Mike Miller

1
但是,如果键盘不起作用怎么办?:-/
马特

3
@Matt在BIOS设置中启用键盘选项(如果在启动过程中禁用了键盘,请按住电源按钮,直到听到主板上的重置声音为止)
ramsudharsan

86

看来您有坏的超级块。要解决此问题:

首先,启动到实时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?问题,并通过自动回答全部回答

您应该得到类似的输出:

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

如果能够执行上述命令,则很可能已修复错误。

现在,重新启动计算机,您应该能够正常启动。

来源


1
我已经完成了sda1的所有步骤,但是无法完成最后的“ mkdir测试”!还有sda5,所以我想为此重复步骤吗?
弗雷迪(Freddy)2015年

2
您编写“选择备用超级块”。替代什么?我可以从列表中选择一个吗?
Mads Skjern,2015年

1
我建议在答案中增加一个答案,即每个“固定问题”都必须回答“是”。而且还可能存在成百上千个问题,并且可以使用“ -y”标志对所有问题回答“是”。
Mads Skjern,2015年

2
为使用gparted而现在在这里的人+1
Vitor Abella

2
如果sudo fdisk -l|grep Linux|grep -Ev 'swap'返回2行怎么办?/ dev / sda2和/ dev /
sda5

60

实际上解决方案很容易,只需编写fsck /dev/sdax如下所示的命令,并给出Y控制台是否要求修复的内容:

(initramfs) fsck /dev/sda1

要么

(initramfs) fsck /dev/sdaX

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

如果您不想在每次要求修复时都手动按“ y”,则也可以运行带有该-y选项的命令。

(initramfs) fsck /dev/sdaX -y

5
谢谢老兄,这解决了我的问题,它在/ dev /
sda5上

5
为什么尚未接受该答案?简单且有效。
Swapnil

3
最好,最简单的解决方案!
kunicmarko20 '18

2
救了我的屁股!
Eric Wang

2
应该是公认的答案
Kareem '18

6
  1. 答案很简单,删除你的硬盘中onother系统连接和启动系统(请不要从你的initramfs错误硬盘启动使用任何与Ubuntu和gparted安装)。
  2. 启动gparted并选择您的硬盘,然后从右键菜单中选择“检查”。

2

我只是通过用Live CD中的“ Parted Magic”工具启动系统来尝试了一次幸运的拍摄。查看分区,Linux分区上有一个声明的“ GB空间”。

因此,我只是扩大了Linux在整个Partition和voila上的空间-从那时起,我的Linux像以前一样启动,到目前为止没有任何失败。

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.