web-dev-qa-db-ja.com

ライブUSBLinuxからの起動エラー:「cd0」からのセクター0x0の読み取りに失敗しました

Ubuntuで永続ストレージのライブUSBを作成し、数日間使用しましたが、完全に機能しました。

今、私は私のPC上の友人のためにUbuntuで別のそのようなライブUSBを作成し、彼が彼のPCで同じことを行えるようにしました。

彼のUSBは正常に動作しますが、PCの元のUSBから起動できなくなりました。友達のUSBからしか起動できません。 USBから起動すると、grubでエラーが発生します:エラー:「cd0」からセクター0x0の読み取りに失敗しました

いつでも別のPCから使用できますが、自分のPCで作業する必要があります。助言がありますか?

Grubが以前のubuntuブートローダー構成を新しいもので上書きしたようです。 USBで動作していた以前のものを復元するにはどうすればよいですか?

1
Bhavik

友達のUbuntuライブUSBを使用してUbuntuライブUSBにchrootし、update-grubを実行してそのGRUBブートローダーを修復します。

  1. 他の動作中のUbuntuライブUSBから起動します。
  2. メインパーティションのパーティション番号を決定します。 GParted(デフォルトではライブセッションにすでにインストールされているはずです)がここで役に立ちます。この回答では/dev/sda2であると想定しますが、オリジナルのUbuntuライブUSBに正しいパーティション番号を使用していることを確認してください!
  3. パーティションをマウントします。

    Sudo mount /dev/sda2 /mnt  # Replace sda2 with your partition number
    
  4. 他の必要なものをバインドマウントします。

    for i in /sys /proc /run /dev; do Sudo mount --bind "$i" "/mnt$i"; done
    
  5. UbuntuがEFIモードでインストールされている場合( 不明な場合はこの回答を参照 )、GPartedを使用してEFIパーティションを見つけます。ラベルはEFIになります。このパーティションをマウントし、sdXYをシステムの実際のパーティション番号に置き換えます。

    Sudo mount /dev/sdXY /mnt/boot/efi
    
  6. chrootをUbuntuインストールに追加します:

    Sudo chroot /mnt
    
  7. この時点で、ライブセッションではなくインストールが行われ、rootとして実行されています。 grubを更新します:

    update-grub
    

    エラーが発生した場合、または手順7に進んでも問題が解決しない場合は、手順8に進みます(それ以外の場合はオプションです)。

  8. 状況によっては、grubを再インストールする必要がある場合があります。

    grub-install /dev/sda
    update-grub # In order to find and add windows to grub menu.
    
  9. すべてがエラーなしで機能した場合は、すべて設定されています。

    exit
    Sudo reboot 
    

ソース:https://askubuntu.com/questions/88384/how-can-i-repair-grub-how-to-get-ubuntu-back-after-installing-windows/88432#88432

1
karel