web-dev-qa-db-ja.com

/ dev / sda2のマウント中にエラーが発生しました

私はしばらくの間Pop!_OSを実行していて、Kubuntuをインストールすることにしました。 Kubuntu USBドライブを起動して最初に試し、KDE ​​Partition Managerを使用してインストール用のパーティションを準備することにしました。

このSSDにはすでに4つのパーティションがあります:sda1(古いWindowsインストール)、sda2(データ)、sda3(Pop!_OS)およびsda4(スワップ)。 Kubuntuの新しいパーティション用のスペースを作成するために、sda2の末尾を30Gb縮小しましたが、すでに4つのプライマリパーティションがあったため、この未割り当てスペースをフォーマットできませんでした。そこで、sda1を削除して、未割り当てのスペースをsda2の右側に移動し、そのスペースをsda2に追加することにしました。アクションを適用すると、エラー(サイズの不一致に関する何か)が発生し、中止されました。

Pop!_OSで再起動すると、sda2から取得した30Gbの未割り当てスペースがあり、sda1は変更されていませんが、sda2をマウントできません。

sda mount error

GPartedが現在表示している内容は次のとおりです。

What GParted shows

sda2の情報は次のとおりです:

Info about sda

そしてfdisk -lの出力:

enter image description here

(パーティションテーブルエントリはディスク順ではありません)。

複数の問題が発生する可能性があるため、ここでは触れないでアドバイスを得ることにしました。そのパーティションのデータを回復したいのですが。さらに情報が必要な場合は、お知らせいただければ幸いです。長いスレッドでごめんなさい、そしてあなたの時間をどうもありがとう。

UPDATE:

フィードバックを待つ間、fdiskを使用してパーティションテーブルエントリの順序を修正しようとしました。手順を実行した後(およびGRUBで再起動できるようにするために修正する必要がある場合)、fdiskはそれらを異常として報告しません。

私がしたもう1つのことは、そのパーティションでgpartedのcheckオプションを使用することでした。これにより、さらに興味深い情報が返されました。

GParted 0.32.0 --enable-libparted-dmraid --enable-online-resize

Libparted 3.2
Check and repair file system (ext4) on /dev/sda2  00:00:00    ( ERROR )

calibrate /dev/sda2  00:00:00    ( SUCCESS )

path: /dev/sda2 (partition)
start: 275396608
end: 782370815
size: 506974208 (241.74 GiB)
check file system on /dev/sda2 for errors and (if possible) fix them  00:00:00    ( ERROR )

e2fsck -f -y -v -C 0 '/dev/sda2'  00:00:00    ( ERROR )

The filesystem size (according to the superblock) is 71051776 blocks
The physical size of the device is 63371776 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort? yes

e2fsck 1.45.3 (14-Jul-2019)

これがすべての原因となったエラーです。その情報を保存できませんでした。パーティションが実際のサイズを知らないように見えますか?最初は270GBを超えていましたが、新しいパーティション用に30GBを削除しました。 Thunarはそれが260GB、Dolphin、GPartedを持っていると報告し、fdiskは240GBを持っていると報告しています。事態を悪化させることなく、どうすればそれを修正できますか?読んでくださった方、本当にありがとうございました。

3
Neptunian

パーティションを縮小した後、ファイルシステムのサイズを変更するのを忘れたようです。ファイルシステムをパーティションよりも小さくするには、resize2fsを使用する必要があります。ファイルシステムよりも小さいパーティションは作成できません

resize2fs /dev/sda2 239G

これにより、ファイルシステムがパーティション自体よりも小さくなるように、1ギガのスペースが確保されます。

1
Gordster

このアドバイスは、特に保証なしで提供されます。特に、パーティション/ファイルシステムに正確に何が起こったかを知ることができないことを考慮します。

パーティションやファイルシステムに変更を加える前に、生データをバックアップする必要があります。ライブCD/DVD/USBから起動し、ディスク全体を安全な場所にコピーします。 (スペースを節約するために)圧縮された通常のファイルとして保存するのは次のように簡単です。

$ Sudo gzip -c /dev/sda >/path/on/safe/storage/sda.img.gz

つまり、パーティションマネージャーはsda2(パーティション)を正常に縮小できたようですが、含まれているファイルシステムを縮小できませんでした。

次のコマンドを実行すると、GPartedの発言を確認できます。

$ Sudo fsck.ext4 -v -f /dev/sda2

(中止するように求められた場合はyと答えます)。

ファイルシステムのサイズを変更する代わりに、sda2のサイズを元のサイズに戻すことをお勧めします。または、とにかく、右側にある空き領域の量によってsda2を拡張します。含まれているファイルシステムが破損していない場合は、これにより再びマウントできるようになり、少なくともパーティションを新たに圧縮する前にデータをバックアップできるようになります。

個人的な好みに基づいて、私は GNU parted を使用してパーティションテーブルを編集し、2番目のパーティション(sda2)を再作成します。

$ Sudo parted /dev/sda
(parted) unit s
(parted) rm 2
(parted) mkpart primary ext4 275396608 843810815
(parted) quit

もちろん、これは最初に投稿したfdisk出力に基づいています。それ以降変更があった場合は、調整が必要になる場合があります。

fdiskの代わりにpartedを使用するのも簡単です。Sudo fdisk /dev/sdaの後に、pを使用してパーティションテーブルを検査し、dの後に2を続けてsda2を削除します。 nの後にp275396608が最初のセクターとして続き、最後のセクターは何もありません(連続する空き領域の最後のセクターがデフォルトで選択されます)sda2w to save。次に、更新されたパーティションテーブルについてカーネルに伝えるためにSudo partprobe -s /dev/sdaが必要になる場合があります。

次に、ファイルシステムを確認し(上記のように、fsck.ext4 -v -f /dev/sda2を使用)、sda2を再度マウントすることができます。

最後に、sda2の縮小を再試行することができます。使用しているツール(KDEパーティションマネージャーを含む)がそれを実行できるはずです。一度に1つの操作を保存/適用し(たとえば、sda1を削除するか、sda2を縮小するか、sda2をシフトする...)、それらのいくつかをエンキューしないようにします。これにより、テストされていないコーナーケースに遭遇する可能性が高くなります。

0
fra-san