web-dev-qa-db-ja.com

GRUBからRWへの永続的なRO編集

最近、最新バージョンのUBUNTUをラップトップにインストールしましたが、起動時にわずかな問題がありました。

起動中に次のエラーが表示されます。

Serious errors were found while checking the disk drive for /.

ここでいくつかの調査を行った後、問題を修正し、GRUBブートエントリとROをRWに入力した後、UBUNTUを正常に起動することができました。例えば;

RO:

linux   /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **ro**   quiet splash $vt_handoff

RW:

linux   /boot/vmlinuz-3.13.0-24-generic root=UUID=AAC884AC1F144321 loop=/ubuntu/disks/root.disk **rw**   quiet splash $vt_handoff

これを恒久的に編集するにはどうすればよいですか?起動するたびにこれを編集した後はもうできません。私はどんな助けにも感謝します。私はこのOSで完全に初心者です!

5
user282940

質問に文字通り答えるには、/etc/grub.d/10_linuxを編集し、rorwに変更して、Sudo update-grubを実行します。これにより、ブート時に使用されるファイル/boot/grub/grub.cfgが再生成されます。

しかしこれをしないでくださいroは正しい設定です。 rorwに変更しても解決しません。ブートオプションを変更しても問題は解決しませんでした。fsckを実行することで解決しました。これで、ファイルシステムは再び使用可能になりました。

ファイルシステムの破損は発生しないはずです。破損の原因を探す必要があります。これはメモリの問題である可能性があります。メモリテストを実行します(Grubプロンプトで[メモリテスト]を選択し、少なくとも1つのフルパス(一晩など)で実行したままにします)。

4
Gilles

GRUBを編集してrorwに永続的に変更する必要はありません。復旧オプションの一部を動作不能にします。それらのいずれかが必要な場合、問題が発生する可能性があります。より良い方法は、/usr/share/initramfs-tools/scripts/localファイルを編集し、そのファイルの行を変更することです。 10_lupinまたは10_linuxファイルを変更した場合、次の操作を行う前に変更を元に戻す必要があります。

  1. /usr/share/initramfs-tools/scripts/localファイルをスーパーユーザーとしてお好みのエディターで開きます。次のような行を探します。

    mount ${roflag} -o loop -t ${FSTYPE} ${LOOPFLAGS} "/Host/${LOOP#/}" ${rootmnt}
    
  2. その行をコメントアウトし、その行の下に次の3行を追加します(コメントアウトした上記の行に合わせてください)。

    loopdev=`losetup -f`
    losetup ${loopdev} "/Host/${LOOP#/}"
    mount ${roflag} -t ${FSTYPE} ${LOOPFLAGS} ${loopdev} ${rootmnt}
    
  3. ファイルを保存して、ターミナルで実行します。

    Sudo update-grub
    

その後、システムを再起動すると、カーネルの更新が行われたときにいつでも使用できるようになり、使用するリカバリオプションを使用できるようになります。アップグレードによって変更が削除された場合に備えて、編集したファイルのバックアップを必ず作成してください。こうすることで、アップグレードによって変更が破損した場合、バックアップファイル内の変更された行をコピーして、適切な場所に配置できます。

1
D. Charles Pyle

私がやったことは:

  • root.diskを/dev/1にマウントしました
  • /dev/1/boot/grub/grub.cfgでroをrwに変更しました
  • リブート
  • ubuntuが正常にロードされました

詳細:

Sudo mkdir /dev/1
Sudo mount -t ext4 -o loop /Host/ubuntu/disks/root.disk /dev/1
Sudo vi /dev/1/boot/grub/grb.cfg

次のような行のrorwに置き換えます

linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro  quiet splash

linux /vmlinuz-2.6.28-13-generic root=UUID=9018bfe2-9de3-4692-9883-fc2f875e6455 ro  quiet splash
  • wq!を使用して保存
  • リブート
0
pulis