web-dev-qa-db-ja.com

(initramfs)prompts / busyboxへのブートドロップ

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)

私はこれと同じ問題を抱えている他の人を研究してきましたが、私のために働く解決策を見つけることができませんでした。

説明した方法を試しました here 、そして最後のコマンドの後

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

何もせず、別の(initramfs)プロンプトが表示されます。

ライブCD(USB)から起動して端末にアクセスできますが、lsコマンドで/ dev/sda1を見ることができるので、あまりうまくいかないようですが、私はそれを認識しませんcdしてみてください。

もう1つの質問:コマンドfdisk -lを使用すると、どのマウントポイント(sda1/sda2)がWindowsパーティションで、どれがUbuntuであるかをどのように確認できますか?

199
dpm

initramfs consoleで、シェルから出てくるコマンドexitを渡しました。私の前に同じコンソールが表示されましたが、今回は破損したパーティションの正確な名前です。

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

それだけです。エラーなしでファイルシステムに戻りました。

199
ramsudharsan

あなたは悪いスーパーブロックを持っているようです。これを修正するには:

まず、ライブ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

上記のコマンドを実行できる場合は、おそらくエラーを修正しているでしょう。

ここで、コンピューターを再起動すると、正常に起動できるはずです。

ソース

86
Amith KK

実際には、以下のようにfsck /dev/sdaxのコマンドを記述し、コンソールが何かを修正するように要求した場合にYを指定するだけで簡単に解決できます。

(initramfs) fsck /dev/sda1

または

(initramfs) fsck /dev/sdaX

Xは、マウントされたディスクの部品番号を指定します。

修正を求めるたびに手動で「y」を押したくない場合は、-yオプションを指定してコマンドを実行することもできます。

(initramfs) fsck /dev/sdaX -y
59
efkan
  1. 簡単な答えは、他のシステムのハードディスクを取り外してシステムを起動することです(initramfsエラーハードディスクから起動しないでください。Ubuntuおよびgpartedがインストールされている場合は使用しないでください)。
  2. gpartedを起動し、ハードディスクを選択して、右クリックメニューから[チェック]を選択します。
6
khanthegeek

Live CDから「Parted Magic」ツールを使用してシステムを起動して、ラッキーショットを試しました。パーティションを見ると、LinuxパーティションにいくつかのGByteの「不明な領域」が宣言されていました。

そのため、パーティション全体にLinuxスペースを広げたところです。それ以来、これまでと同様にLinuxが起動します。

2
Kai