私のコンピュータにはArch LinuxとWindows 10がインストールされています。 Linuxをインストールするときは、ファイルシステム用に35 GBのスペースしか提供していませんでしたが、Windowsを使用しなくなったのでパーティションのサイズを変更したいと思います。 Arch Live USBスティックで起動し、Linuxパーティションを削除しました。以前は、Linuxファイルシステムパーティションにのみ空き容量がありました。つまり、私のパーティションテーブルは次のようになります
Free space 1000000 1500000
/dev/sda6 1500000 2000000 Linux filesystem
/dev/sda7 2000000 2000400 Boot sector
いいえ、セクタ1000000-2000000に新しいLinuxファイルシステムパーティションを作成しましたが、GrubがOSのエントリポイントを見つけることができるようにファイルシステムを再移動する方法がわかりません...
これは可能ですか、それともArchを再インストールする必要がありますか?
ありがとうございます!
編集する
このチュートリアルに従ってください。http://positon.org/resize-an-ext3-ext4-partition しかし、resize2fsは、「/dev/sda6を開こうとすると、スーパーブロックのマジックナンバーが間違っています」というメッセージだけを表示します。
答え1
そうだね!そのため、ファイルシステムへのエントリポイントを失いましたが、パーティションが終了するセクタを知っています。先ほど作成したパーティションはもともと35GBだったので36GBに減りました。その後、ext2scanを実行しました。これスーパーブロックを見つけるには投稿してください。次に、ext2scanが見つかったセクターで始まり、終了する必要があることを知っているセクターで終わるパーティションを作成しました。その後、dumpe2fsはスーパーブロックと私のファイルシステムを見つけました。最後に、grub-resqueで起動して問題を解決しました。
答え2
そうですね。パーティションテーブルを変更しても何も削除されません。しかし、私が知っている限り、ファイルシステムを変更できるツールはありません。空き容量がLinuxファイルシステムに対応するのに十分な大きさであると仮定すると、次の手順を実行して問題を解決できます。
- システムをバックアップします。
- パーティションテーブルを元の状態に復元します。基本的には、ext4スーパーブロックにアクセスできるようにLinuxパーティションを起動することです。
- 空き領域に新しいパーティションを作成し、同じファイルシステムタイプをここに配置します。
- ファイルを
sda6
新しいファイルシステムにコピーします。あなたはそれを使用することができますtar
。 - 古いパーティションと新しいLinuxパーティションを削除し、その場所に新しいパーティションを作成します。新しいパーティションが始まる場所から始まり、古いパーティションが終わる場所で終わります。あなたの例を使用すると:1000000〜2000000
- これ
growfs
により、新しいLinuxファイルシステムがより大きなパーティションを利用できるようになります。 - 新しいパーティションを見つけるようにGRUB設定を更新します。パーティションが変更されただけでなく、ファイルシステム識別子も変更されました。
答え3
したがって、Linuxファイルシステム(セクタ1000000-2000000)を削除し、ここに別のパーティションを作成しました。今、古いファイルシステムを復元しますか?
機械式ハードドライブがある場合は、実行した操作をキャンセルできますが、新しいパーティションにデータを書き込まないでください。あなたがそれらを再利用したい場合。