数日前にブートパーティションを削除しましたが、回復できませんでした。この問題を解決するために、同じパラメータを使用して同じイメージをフラッシュドライブにインストールし、そのブートパーティションをハードドライブにコピーしました。これで、vmlinuzイメージがuuidでルートパーティションを検索し、私のハードドライブを見つけることができるというエラーメッセージが表示されます。状況をより複雑にするために、私のhdはlvm + LUKSです。 vmlinuzとinitrd.imgを編集できますか?この問題を解決する他の方法はありますか?それとも捨てて再インストールする必要がありますか?
私は32ビットDebian Jessieを使用しており、ハードドライブに残っているすべてのファイルにアクセスできます。
編集 - 古いvmlinuzまたはinitrd.imgが存在しないため削除されました。
答え1
起動パラメータは起動時にパラメータをvmlinuzに渡すことによってブートローダによって処理されます。 grubを使用すると仮定すると、UUIDを含める必要があることgrub.cfg
を示すパラメータがあります。root=
LUKSを使用しているため、より難しいのは、起動時に起動され、実際にパーティションをマウントして復号化し、UUIDをイメージに保存する可能性が高いinitramfsイメージがある可能性があることです。
最も簡単なリカバリは、LUKSをサポートするライブディストリビューションを見つけて起動することです(Debianのインストールには通常livecdブートにリカバリモードがあります)。次に、暗号化されたルートディレクトリをマウントし、復号化し、ブートをマウントし、マウントされたパーティションにchrootを割り当てます。いったん入ったら、ramdiskユーティリティを再実行して、すべての情報が更新されたことを確認できます。/boot
chrootの前にインストールしてください。
update-initramfs -c -k <kernel>
update-grub
chrootを終了し、すべてを削除して再起動します。
答え2
1) ライブCDから起動
2) ext4 のようにブートパーティションを再作成します。
3) ブートパーティションに Linux イメージをインストールします。
sudo mount /dev/sdax /mnt/myroot
(ここでsdaxはルートパーティションです)
sudo mount /dev/sday /mnt/myroot/boot
(起動が別のパーティション/ dev / sdayにあるため、マウントする必要があります)
sudo mount ‐‐bind /dev /mnt/myroot/dev
sudo mount ‐‐bind /proc /mnt/myroot/proc
sudo mount ‐‐bind /sys /mnt/myroot/sys
他のすべてのパーティション/boot
などを/var
マウントします。すべてマウントされていることを確認してください。/usr
/tmp
resolv.conf コピー
cp -L /etc/resolve.conf /mnt/debian-example/etc/resolve.conf
chroot
sudo chroot /media/bin:/sbin:/usr/bin:/usr/sbin /mnt/tmp...
不足しているカーネルイメージの再インストール
ルートディレクトリからinitrd.imgを移動します。
mv initrd.img initrd.img.OLD
Linuxイメージのインストール
apt-cache search 'linux-image'
apt-get install linux-image-x.x-generic
あなたのものと交換してくださいlinux-image-x.x-generic
。
グラップ復元
sudo grub-install /dev/sda
再起動。
答え3
私ルートパーティションはデフォルトではマウントされません。。手動でインストールする必要がある場合シェルルートプロンプトコマンドの詳細起動オプションを使用するには、起動時にキーを押しますctrl+alt+f3 | f4 | f5
。
fsck
マウントする前に、すべてのパーティションを徹底的に確認してください。lsblk
すべてのパーティション名が表示されます。fsck /dev/{partition-name}
読み取りおよび書き込みアクセス権を持つすべてのパーティションを再マウントします。
mount -n -0 remount, rw /
- タイプ
exit
とまた覆う君のブーツにはない再起動 - これでログインできます。
一つのために永久的な解決策、を検索する必要があります。ルートパーティション
6. コマンドを使用するlsblk
か、/dev/your-root-partition ディレクトリから手動で検索します。 /etc/fstab を使用してルートパーティションを見つけることができます。
# / was on /dev/{your-partition-name} during installation
起動時にルートパーティションを自動的にマウント
fstab
するように編集/etc/fstab
読み書きアクセスそして追加してください/dev/{your-boot-directory} / ext3 rw 0 1
文書を保存そしてグラップを更新してください
sudo update-grub
reboot
これで正常にログインできます。
クレジット取引:
https://bbs.archlinux.org/viewtopic.php?id=118114
ブートパーティションがないため、システムを起動できませんか?