我正在运行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一样,但是当我尝试将其CD时却无法识别它。

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

评论

这是赢家,顺便说一句cyberciti.biz/faq / ...

我不敢相信Canonical尚未实施适当的用户友好型工作流程来解决此问题:(

必须有更好的方法来解决此问题。您不需要Live Ubuntu来完成该任务,因为没有它我就设法解决了。我认为即使在(initramfs)中,您也可以解决问题。

@Masi实际上,从initramfs运行fsck可以在大多数情况下解决它,但是在发布此问题时是最新的ubuntu版本中,即使在运行fsck之后,启动时也会再次显示相同的错误。

Kubuntu 18.04上也会发生同样的问题。每当系统突然冻结时,我就必须硬重置系统;然后会发生此错误。我用ramsudharsan的解决方案解决了问题。

#1 楼

在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

如果reboot不起作用,请尝试exit
就这样,我回到文件系统中而没有任何错误。

评论


最好的解决方案!确实节省了很多时间!特别是当您附近没有活物的时候。

–OccamRazor
17年2月8日在18:30

我必须重新启动一次才能看到不一致错误。然后我只是遵循了这一步,一切都很干净。谢谢!

–尼亚兹·穆罕默德(Niaz Mohammed)
17年4月14日在17:07

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

–आनंद
17年5月30日在17:23

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

–马特
17年9月6日在17:45

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

– Ramsudharsan
17年9月7日在1:52

#2 楼

其实解决方案很容易
只需编写如下的fsck /dev/sdax命令,如果控制台要求修复某些问题,则给Y
(initramfs) fsck /dev/sda1
(initramfs) fsck /dev/sdaX

X指定已安装的磁盘部件号。
如果不想在每次要求修复时都手动按'y',也可以使用带有-y选项的命令。
(initramfs) fsck /dev/sdaX -y


评论


在执行此操作之前,请获取磁盘的映像。它将修改文件系统,并且您可能会丢失所有文件。

–givanse
18年7月24日在15:33

在我的系统上,fsck不被识别为命令-键​​入help时,它不在内置命令列表中。因此,并不是每次出现此问题都可以解决。

–levitopher
18年8月29日在14:05

@levitopher,您的Linux发行版的名称是什么?

–efkan
18年8月29日在14:59

@efkan:好的评论,是System76的PoP!_OS,但我的印象是,它与普通Ubuntu的唯一区别是图形/用户界面,而不是基本系统。此外,我正在Mac上进行三引导,因此显然存在系统差异,但是我唯一的评论是与其他评论相反,这并不是所有人的解决方案。

–levitopher
18年8月29日在16:15

最好,最简单的解决方案。但是我的问题是为什么会这样。这并不是发生在我的系统中,其他许多人也遇到了同样的问题。但为什么?

– Sandip Nath
20年7月11日在18:26

#3 楼

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

首先,启动到实时CD或USB

通过使用

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

<查找分区号。 br />然后,使用以下命令列出所有超级块:

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

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

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


如果能够执行上述命令,则最有可能完全可以解决您的错误。

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

(源代码)

评论


我已经完成了sda1的所有步骤,但无法执行最后的“ mkdir测试”!还有sda5,所以我想为此重复步骤吗?

–弗雷迪
15年4月8日在9:40

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

– Mads Skjern
15-10-27在11:32



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

– Mads Skjern
15-10-27在11:46

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

–Vitor Abella
16年8月27日在3:29

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

– knocte
16-10-2在8:42

#4 楼


简单的答案是删除您的硬盘在其他系统上的连接并启动系统(请不要从initramfs错误的硬盘启动,请使用已安装Ubuntu和gparted的任何硬盘)。
启动gparted并选择您的硬盘磁盘,然后从右键菜单中选择“检查”。


#5 楼

答案略有不同(Ubuntu 16.04),尽管其他答案最终使我想到了它。

我必须首先选择恢复模式内核,然后才能查看错误消息以知道哪个分区/文件系统具有错误。

从那时起,运行fsck /dev/sdb1/ -y为我修复了它。

#6 楼

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

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