Загрузки сбрасываются до (initramfs) приглашение / busybox

204

Я работаю с двойной загрузкой HP павильон dv6000 win7 и Ubuntu 12.04. (ну, до сегодняшнего дня). После перезагрузки процесс загрузки переходит в оболочку BusyBox, и я получаю приглашение:

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).

Я могу загрузиться с live CD (USB) и добраться до терминала, но, похоже, это не очень хорошо, так как я вижу / dev / sda1 в команде ls, но он не распознает его, когда я попробуйте перейти к нему.

Еще один вопрос: используя команду, fdisk -lкак я могу узнать, какая точка монтирования ( sda1/ sda2) является моим разделом Windows, а какая - Ubuntu?

пм
источник
1
Это был победитель, кстати, cyberciti.biz/faq/…
дпм
3
Я не могу поверить, что Canonical еще не внедрила правильный удобный рабочий процесс, чтобы исправить эту ситуацию :(
knocte
Там должен быть лучший способ исправить дело. Вам не нужен Live Ubuntu для этой задачи, так как мне удалось решить его без него. Я думаю, что вы можете исправить это даже в (inittramfs).
Лео Леопольд Герц 준영
4
@Masi На самом деле, запуск fsck из initramfs исправляет это в большинстве случаев сейчас, но в выпуске ubuntu, который был актуален, когда этот вопрос был опубликован, даже после того, как он fsckбыл запущен, та же ошибка снова была показана при загрузке.
Амит КК

Ответы:

207

В то время как в initramfs консоли, я принял команду выхода , чтобы выйти из оболочки. Та же самая консоль была представлена ​​передо мной, но на этот раз с точным названием поврежденного раздела .

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

и все, я вернулся в файловую систему без ошибок.

ramsudharsan
источник
14
Работал на Ubuntu 16.04
Хастиг Зусамменстеллен
3
Работал на меня. Но почему это случилось?
आनंद
3
Приветствую спасителя вселенной Рамсудхарсан
Майк Миллер
1
Но что, если клавиатура не работает? : - /
Мэтт
3
@Matt Включите опцию клавиатуры в настройках BIOS (если вы отключили клавиатуру во время загрузки, удерживайте кнопку питания, пока не услышите звук сброса с платы)
ramsudharsan
86

Кажется, у вас плохой суперблок. Чтобы исправить это:

Во-первых, загрузитесь в 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

Теперь, чтобы проверить и восстановить файловую систему 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

Если вы можете выполнить вышеуказанные команды, вы, скорее всего, исправили ошибку.

Теперь перезагрузите компьютер, и вы сможете нормально загружаться.

( источник )

Амит КК
источник
1
Я выполнил все шаги для sda1, но не могу выполнить последнюю часть "mkdir test" !! Существует также sda5, так что я полагаю повторить шаги для этого?
Фредди
2
Вы пишете «Выберите альтернативный суперблок». Чередовать что? Могу ли я выбрать любой из списка?
Мадс Скьерн,
1
Я предлагаю добавить к ответу, что нужно ответить «да» на каждый из «Исправить вопросы». Но также и то, что могут быть сотни этих вопросов, и можно ответить «да» для всех, используя флаг «-y».
Мэдс Скьерн,
2
+1 для тех, кто использовал gparted и теперь здесь
Vitor Abella
2
Что sudo fdisk -l|grep Linux|grep -Ev 'swap'делать, если возвращает 2 строки? / dev / sda2 и / dev / sda5 для меня
knocte
60

На самом деле решение легко, просто напишите команду, fsck /dev/sdaxподобную приведенной ниже, и дайте, Yесли консоль попросит исправить что-то:

(initramfs) fsck /dev/sda1

или же

(initramfs) fsck /dev/sdaX

X указывает номер смонтированного диска

Если вы не хотите вручную нажимать «y» каждый раз, когда запрашивается исправление, вы также можете запустить команду с -yпараметром.

(initramfs) fsck /dev/sdaX -y
efkan
источник
5
спасибо, чувак, это решило мою проблему, это было на / dev / sda5
lotfio
5
Почему этот ответ еще не принят? Просто и работает.
Swapnil
3
Отличное и простое решение!
kunicmarko20
2
Спас мою задницу !!!
Эрик Ван
2
Должен быть принят ответ
Карим
6
  1. Простым ответом является удаление вашего жесткого диска в другой системе и запуск системы (пожалуйста, не загружайтесь из-за ошибки initramfs, используйте жесткий диск с Ubuntu и gpartedустановленным).
  2. запустите gpartedи выберите свой жесткий диск и выберите ПРОВЕРКА в меню правой кнопки мыши.
khanthegeek
источник
2

Я только что попробовал удачный вариант, загрузив систему с помощью инструмента "Parted Magic" с Live CD. Глядя на разделы, в разделе Linux было объявлено «неизвестное пространство» в несколько гигабайт.

Поэтому я просто расширил пространство Linux по всему разделу и вуаля - с тех пор мой Linux загружается, как и раньше, до сих пор без сбоев.

Кай
источник