web-dev-qa-db-ja.com

壊れた/ bootパーティション:入出力エラー

問題

私が直面している問題は、GRUBでUbuntuを選択した後、ブート時に次のエラーが発生することです。

Error: File "/vmlinuz-3.13.0-24-generic.efi.signed" not found.  
unaligned pointer 0xd0a26c68
Aborted. Press any key to exit.

Error: File "/vmlinuz-3.13.0-24-generic.efi.signed" not found.

この問題に関する質問を既に投稿しました here ですが、多くのことが変わったので、この質問を設定しました。

私のセットアップ

完全に暗号化されたルートでセットアップしているため、インストール中にさまざまなトラブルが発生しました。さらに、特にすべてがWindowsで機能するようにするために、UEFIとGPTに問題がありました。インストールはかなり前のことなので、詳細は覚えていません。

私のUbuntuハードドライブには、3つの主要なパーティションがあります。

  • / dev/sda1:fat32、ブートフラグ。
    これはEFIパーティション(/ boot/efiである必要がありますか?)
  • / dev/sda2:ext2
    /bootである必要があります
  • / dev/sda3:crypt-luks
    ルートとスワップを含む暗号化されたコンテナ

トラブルシューティング

USBから起動したライブシステムで、次の問題が見つかりました。

Nautilusのエラー

Nautilusでマウントされたブートパーティション(/ dev/sda2)をクリックすると、次のエラーが表示されます。

Sorry, could not display all the contents of “boot”: Error when getting information for file '/media/ujosh/root/boot/System.map-3.11.0-17-generic': Input/output error

Sorry, could not display all the contents of “boot”: Error when getting information for file '/media/ujosh/root/boot/System.map-3.11.0-17-generic': Input/output error

Initramfsの更新エラー

それでも、3つのパーティションすべてをマウントし、正しいコンステレーションでmount --bindを使用してまとめて、システムにchrootできるようにしました。そこで、私は走った

apt-get update
apt-get dist-upgrade

すべてが期待どおりに機能するまで

update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
cat: /proc/cmdline: No such file or directory

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-3.13.0-24-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
subprocess installed post-installation script returned error exit status 1
No apport report written because MaxReports is reached already
Errors were encountered while processing:
linux-image-3.13.0-24-generic
grub-efi-AMD64
grub-efi-AMD64-signed
linux-image-extra-3.13.0-24-generic
linux-signed-image-3.13.0-24-generic
linux-signed-image-generic
linux-signed-generic
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

ブート修復は役に立たない

私もセットアップでブート修復を実行しましたが、最終的には上記と同様にinitramfsの更新中に同じエラーが発生しました。

ファイルシステムチェックの実行

@zoidの助けを借りて、/ boot-partitionで次のテストを使用しました:enter code here

Sudo fsck.ext2 -p -f -C0 /dev/sda2
/dev/sda2: Inode 29 has illegal block(s).  

/dev/sda2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
    (i.e., without -a or -p options)

Sudo fsck.ext2 -f -C0 /dev/sda2

ここに貼り付けた結果


Sudo smartctl -H /dev/sda 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

Sudo smartctl -A /dev/sda 
smartctl 6.2 2013-07-26 r3841 [x86_64-linux-3.13.0-24-generic] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED              WHEN_FAILED RAW_VALUE
5 Reallocated_Sector_Ct   0x0033   100   100   010    Pre-fail  Always       -       0
9 Power_On_Hours          0x0032   099   099   000    Old_age   Always       -       2869
12 Power_Cycle_Count       0x0032   098   098   000    Old_age   Always       -       1836
177 Wear_Leveling_Count     0x0013   098   098   000    Pre-fail  Always       -       48
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   100   100   010    Pre-fail  Always       -       0
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   100   100   010    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0032   062   050   000    Old_age   Always       -       38
195 ECC_Error_Rate          0x001a   200   200   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   253   253   000    Old_age   Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       128
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       6450810314

私の質問

/ boot-partitionを復元する方法は?壊れていることが問題全体を引き起こしていると思います。
/boot-partitionの何が問題になっていますか?私の生産的なOS全体が壊れているので、将来これを避ける方法を知りたいです。

どんな助けも大歓迎です!

3
Joshua Gleitze

「入出力エラー」は、ディスクの欠陥が原因である可能性がある読み取り/書き込みエラーを示します。ブロックの読み取り/書き込みができないため、パーティションを変更できません。

ディスク上のすべての個人データをバックアップし、選択したツールでファイルシステムをチェックすることをお勧めします。

-更新-

あなたが使用できるファイルシステムチェックのために

fsck.ext2 -p -f -C0 /dev/sda2

ファイルシステムをチェックし(-f)、何が起こっているかを示し、進行状況バーを表示し(-C0)、大きな問題を修正するかどうかを尋ねます(-p)。

多くの問題が発生した場合は、インストールすることをお勧めします

smartmontools

そして走る

Sudo smartctl -H /dev/sda 

高速テストのために

Sudo smartctl -t long /dev/sda 

ハードディスクを徹底的にチェックする

Sudo smartctl -a /dev/sda 

ハードディスクの状態を表示する

Sudo smartctl -A /dev/sda 

ハードディスクの属性を表示します。

2
zoig

戻ってきた!

Fsck.ext2を使用すると、本当にうまくいきました。 Sudo fsck.ext2 -f -C0 /dev/sda2と「yes」(質問を参照)ですべてに答えると、ファイルシステムが修正されました。

その後、暗号化されたパーティションのロックを解除し、すべてをマウントして、システムにchrootしました。そこで、apt-get dist-upgradeを実行しました。その後、grubは起動時にgrubコマンドラインに入りました。

ライブシステムに戻り、その後、ブート修復を実行しました。その後、暗号化設定を再構成する必要がありました。 EncryptedFilesystemsViaUbiquity を参照してください。

これで、システムを再び使用できるようになりました。ネットワークは何らかの形で壊れており、うまく接続されていますが、プログラムでインターネットを使用することはできません。 Sudo dhclient wlan0は1つのセッションでこれを修正します。

1
Joshua Gleitze