ブートパーティションがないため、システムを起動できませんか?

ブートパーティションがないため、システムを起動できませんか?

数日前にブートパーティションを削除しましたが、回復できませんでした。この問題を解決するために、同じパラメータを使用して同じイメージをフラッシュドライブにインストールし、そのブートパーティションをハードドライブにコピーしました。これで、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ユーティリティを再実行して、すべての情報が更新されたことを確認できます。/bootchrootの前にインストールしてください。

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

  1. fsckマウントする前に、すべてのパーティションを徹底的に確認してください。lsblkすべてのパーティション名が表示されます。

  2. fsck /dev/{partition-name}

  3. 読み取りおよび書き込みアクセス権を持つすべてのパーティションを再マウントします。 mount -n -0 remount, rw /

  4. タイプexitまた覆う君のブーツにはない再起動
  5. これでログインできます。

一つのために永久的な解決策、を検索する必要があります。ルートパーティション 6. コマンドを使用するlsblk か、/dev/your-root-partition ディレクトリから手動で検索します。 /etc/fstab を使用してルートパーティションを見つけることができます。

# / was on /dev/{your-partition-name} during installation
  1. 起動時にルートパーティションを自動的にマウントfstabするように編集/etc/fstab読み書きアクセスそして追加してください

    /dev/{your-boot-directory} / ext3 rw 0 1

  2. 文書を保存そしてグラップを更新してください

    sudo update-grub

  3. rebootこれで正常にログインできます。

クレジット取引:

https://bbs.archlinux.org/viewtopic.php?id=118114

ブートパーティションがないため、システムを起動できませんか?

https://geek-university.com/linux/etc-fstab-file/

https://linux.die.net/man/8/mount

関連情報