私は5年以上前からデュアルブートのUbuntu/Windowsを搭載したPCを持っています。
最後に機能した構成はWindows10とUbuntu16.04LTSでした。
LinuxパーティションにUbuntu16.10をインストールしましたが、いくつか問題があります:
- Linuxでのみ起動しても問題ありませんが、正常に動作します。
- Windowsを起動しても、問題ありません。Windowsは正常に機能します。
- Windowsの後にLinuxを起動すると、スーパーブロックエラーが発生し、busyboxにドロップします。
でスーパーブロックを復元した場合
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
Linuxを起動できますが、Windowsをもう一度起動すると、同じ問題が再発します。
もちろん、私は見つけた解決策を試しました:
-
chkdsk
およびtestdisk
窓にいる間。 - 拡張パーティションを削除し、Linuxインストーラーに再作成させます。
- および、拡張パーティション+ ext4で作成し、インストールプロセス中にこれらのパーティションをスワップして選択します。
パーティションテーブル(fdisk -lu
):
Disk /dev/sda: 298,1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6bb7527c
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 22783999 22781952 10,9G 7 HPFS/NTFS/exFAT
/dev/sda2 * 22784000 22988799 204800 100M 7 HPFS/NTFS/exFAT
/dev/sda3 22988800 375246847 352258048 168G 7 HPFS/NTFS/exFAT
/dev/sda4 375246848 625141759 249894912 119,2G f W95 Ext'd (LBA)
/dev/sda5 383440896 617844735 234403840 111,8G 83 Linux
/dev/sda6 617846784 625141759 7294976 3,5G 82 Linux swap / Solaris
成功せずにさらにいくつかのテストを行いました:
- Linux拡張パーティションを削除しました
- Windowsパーティションをフルディスクに拡張しました
-
chkdsk /F /R
を起動しました この新しいWindowsパーティションで→数時間後にはすべて問題ありません - Ubuntu 16.10を再インストールし、インストールプログラムでディスクのサイズを変更し、ext4とスワップパーツを作成しました。
- Linuxを起動します→問題ありません
- Windowsを起動します→問題ありません(WindowsとLinuxのどちらかを選択できるWindowsメニューが表示されます。Windowsを選択します)
- Linuxを起動します:同じ問題が再び発生します(スーパーブロックエラー)
更新:
正確なスーパーブロックエラー:
fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda5
修復するには:
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
正常に動作しますが、Windowsの起動後、問題が再び発生します…
アップデート2:
W10から、Linuxext4パーティションをW10ext2
でマウントできます。 道具。それはうまくいきます、私はファイルを見ることができます。しかしその後、Linuxで起動したときの同じ問題:スーパーブロックエラー。
もちろん、W10(ログインなし)を起動してLinuxを再起動するだけの場合、問題もあります。
問題はW101511にありましたが、W10 1607にアップグレードしました:同じ問題
関連:Linux経由でRAMのエラーをチェックする方法は?この問題を抱えているのは私だけではないことはわかりましたが、解決策は見当たりませんでした。
update2:
Linuxとスワップパーティションを削除し、Windowsから新しいパーティションを作成しました。
次に、Ubuntu16.10=>同じ問題を再度再インストールしました
更新3:解決策の始まり
おそらく解決策を見つけました。
Windowsにログインした場合:
コマンドdiskpart
、Linuxボリュームがoffline
に設定されている場合
Linuxを起動しても問題はありません。
音量を自動的にオフラインに設定する方法を見つける必要があります(regedit?)
ベストアンサー
私はいくつかの調査を行いましたが、ext2fsprogs 1.43(Ubuntu 16.10)以降、64ビットとmetadata_csum
機能は、新しいext4ファイルシステムが作成されるときに有効になります。 Ubuntu 16.10を新規インストールしましたが、インストールする前に、USBライブセッションを開始し、64ビットとmetadata_csum
を削除しました。 /etc/mke2fs.conf
からのext4の機能 。この後、このライブセッションからインストーラーを実行しました。これで、ext4パーティションを破損することなくWindows 10を起動できます(Ubuntu 16.10のインストール中にext4パーティションを再フォーマットする必要があります)。
この問題は、明らかに64ビット機能やmetadata_csum機能をサポートしていないext2fsdに関連しています。 ext4パーティションを破壊するには、ext2fsdをインストールするだけで十分です。それらをWindowsにマウントする必要はありません。
これらの機能が有効になっているかどうかは、次のコマンドで確認できます。
sudo tune2fs -l /dev/[sdXX]
ここで、[sdXX]は問題のext4パーティションを表します。