私はしばらく Pop!_OS を実行していましたが、Kubuntu をインストールすることにしました。まずは試しに Kubuntu USB ドライブを起動し、KDE Partition Manager を使用してインストール用のパーティションを準備することにしました。
この SSD にはすでに 4 つのパーティションsda1
(古い Windows インストール)、sda2
(データ)、sda3
(Pop!_OS)、sda4
(スワップ) がありました。Kubuntu 用の新しいパーティション用のスペースを確保するために、 の末尾をsda2
30Gb 縮小しましたが、プライマリ パーティションがすでに 4 つあったため、この未割り当て領域をフォーマットできませんでした。そこで、 を削除しsda1
、その未割り当て領域を の右側に移動しsda2
、その領域を に追加することにsda2
しました。アクションを適用すると、エラー (サイズの不一致に関するもの) が発生し、中止されました。
sda2
Pop!_OS で再起動すると、30GB の未割り当て領域が確保されていることがわかります。このsda1
領域は変更されていませんが、マウントできませんsda2
。
GParted が現在表示している内容は次のとおりです。
情報は以下の通りですsda2
:
そして出力は次のようになりますfdisk -l
:
(パーティション テーブル エントリはディスクの順序ではありません)。
複数の問題がある可能性があるようなので、今は触らずにアドバイスをもらうことにしました。そのパーティションのデータを回復したいです。さらに情報が必要な場合は、喜んで提供します。スレッドが長くなってしまい申し訳ありません。お時間をいただきありがとうございました。
アップデート:
フィードバックを待つ間、fdisk を使用してパーティション テーブル エントリの順序を修正しようとしました。手順を実行した後 (GRUB を修正して再起動できるようにする必要があります)、fdisk は順序が間違っていることを報告しません。
私が行ったもう一つのことは、そのパーティションで 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)
これがこのすべての始まりとなったエラーです。私はその情報を保存できなかっただけです。パーティションは単に実際のサイズを知らないだけだと思います。最初は 270 GB 以上でしたが、新しいパーティション用に 30 GB を削除しました。Thunar は 260 GB と報告し、Dolphin、GParted、fdisk は 240 GB と報告しており、これは理にかなっています。では、状況を悪化させずにこれを修正するにはどうすればよいでしょうか。お読みいただいた皆様、改めてありがとうございました。
答え1
パーティションを縮小した後、ファイルシステムのサイズを変更するのを忘れたようです。resize2fs
ファイルシステムをパーティションより小さく縮小するには、 を使用する必要があります。ファイルシステムより小さいパーティションを持つことはできません。
resize2fs /dev/sda2 239G
これにより、ファイルシステムがパーティション自体よりも小さくなるように 1 ギガのスペースが確保されます。
答え2
このアドバイスは保証なし特に、パーティション/ファイル システムに何が起こったのかを正確に知ることはできないことを考慮すると、
パーティションやファイル システムに変更を加える前に、生のデータをバックアップする必要があります。たとえば、ライブ 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は別れたパーティションテーブルを編集して 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
を最初のセクターとしてp
、何も最後のセクターとして指定せずに (連続した空き領域の最後のセクターがデフォルトで選択されます) 、275396608
を再作成して保存します。その後、 更新されたパーティション テーブルについてカーネルに通知する必要がある場合があります)。sda2
w
sudo partprobe -s /dev/sda
fsck.ext4 -v -f /dev/sda2
その後、(上記のように を使用)ファイル システムをチェックし、再度マウントできるようになりますsda2
。
最後に、縮小を再試行してくださいsda2
。KDE パーティション マネージャーを含む、使用しているツールで縮小できるはずです。一度に 1 つの操作 (削除sda1
、縮小sda2
、シフトなどsda2
) を保存/適用し、複数の操作をキューに入れないようにすることをお勧めします。そうしないと、テストされていないコーナー ケースに遭遇する可能性が高くなります。