Bagaimana saya bisa mencegah Windows 10 dari merusak superblock ext4 setiap kali?

21

Saya memiliki pc dengan dual-boot Ubuntu / Windows sejak lebih dari 5 tahun. Konfigurasi kerja terakhir adalah: windows 10 dan Ubuntu 16.04 LTS.

Saya menginstal Ubuntu 16.10 pada partisi Linux dan memiliki beberapa masalah:

  • Jika saya hanya boot di Linux, tidak ada masalah, itu berfungsi dengan baik.
  • Jika saya boot windows, tidak masalah, windows berfungsi dengan baik.
  • Jika saya mem-boot Linux setelah windows, saya memiliki kesalahan superblock dan drop ke busybox.

Jika saya mengembalikan superblok dengan

fsck.ext4 -p -b 884736 -B 4096 /dev/sda5

Saya bisa mem-boot Linux tetapi setelah boot ke Windows, masalah yang sama terulang kembali.

Tentu saja saya telah mencoba solusi yang ditemukan:

  • chkdskdan testdisksementara di windows.
  • Saya menghapus partisi extended dan membiarkan installer Linux membuatnya kembali.
  • Buat oleh dan, partion yang diperluas + ext4 dan tukar dan pilih partisi ini selama proses instalasi.

Tabel partisi ( 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

Saya melakukan beberapa tes lagi tanpa hasil:

  • Saya menghapus partisi extended Linux
  • Saya memperpanjang partisi windows ke disk penuh
  • Saya meluncurkan chkdsk /F /Rpartisi windows baru → → setelah beberapa jam semua baik-baik saja
  • Saya menginstal ulang Ubuntu 16.10 dan membiarkan program instalasi mengubah ukuran disk dan membuat bagian ext4 dan swap.
  • Saya mem-boot Linux → tidak ada masalah
  • Saya mem-boot windows → tidak ada masalah (saya mencapai menu windows yang memungkinkan saya memilih antara Windows dan Linux, saya memilih Windows)
  • Saya mem-boot Linux: masalah yang sama lagi (kesalahan superblock)

Pembaruan: kesalahan superblok yang tepat:

fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda5

Untuk memperbaikinya:

fsck.ext4 -p -b 884736 -B 4096 /dev/sda5

berfungsi dengan baik, tetapi setelah boot Windows, masalahnya ada di sana lagi ...

Pembaruan 2: Dari W10, saya bisa memasang partisi linux ext4 dengan ext2alat W10 . Ini berfungsi dengan baik, saya bisa melihat file. Tetapi setelah itu, masalah yang sama, ketika saya boot di Linux: kesalahan superblock.

Tentu saja jika saya hanya mem-boot W10 (tanpa login) dan me-reboot linux, masalahnya juga ada di sana.

Masalahnya hadir dengan W10 1511, saya telah meningkatkan ke W10 1607: masalah yang sama

Saya melihat bahwa saya tidak sendirian di bumi dengan masalah ini, tetapi saya tidak melihat solusi apa pun.

update2: Saya menghapus linux dan partisi swap dan membuat partisi baru dari windows. Kemudian saya menginstal ulang Ubuntu 16.10 => masalah yang sama lagi

pembaruan 3: Awal solusi Saya mungkin telah menemukan solusi. Saat masuk di windows: Dengan perintah diskpart, ketika volume linux diset offline tidak ada masalah lagi ketika saya boot linux.

Saya sekarang harus menemukan cara mengatur volume offline secara otomatis (regedit?)

f35
sumber
Apakah Windows dan Linux diinstal dalam UEFI BIOS atau legacy BIOS mode? Apakah Anda mengubah pengaturan BIOS saat Anda beralih antara Windows dan Ubuntu? Apakah Anda menggunakan semacam RAID untuk pengaturan penyimpanan Anda? Apakah Anda mengakses sistem file ext dari Windows dengan driver sistem file seperti Ext2fsd?
David Foerster
UEFI bios: tidak, Ubah BIOS: tidak, RAID tidak (ini adalah MSI u270), akses partisi linux dari Windows: tidak. Hanya mem-boot windows (tanpa login) dan memulai kembali dengan ubuntu membuat masalah muncul. Terima kasih untuk memperhatikan masalah saya
f35
Apa kesalahan super blok? Bukankah ini masalah waktu? Jika waktu yang disimpan dalam blok super kurang dari yang dilaporkan oleh jam hardawre Anda mungkin memiliki masalah itu. Cobalah untuk menyimpan waktu dalam UTC di jam perangkat keras baik di linux dan windows.
solsTiCe
@solsTiCe: Periksa pembaruan saya di posting awal untuk kesalahan superblok yang tepat. Jam di bios adalah UTC, jam di Windows adalah UTC dengan localtime, jam di Ubuntu: sudo dpkg-reconfigure tzdata Zona waktu default saat ini: 'Europe / Paris' Waktu setempat sekarang: Minggu 20 Nov 21:55:16 CET 2016. Waktu Universal sekarang: Minggu 20 Nov 20:55:16 UTC 2016.
f35
@ f35 Saya memiliki masalah yang sama. Dual boot dengan Dell XPS 13 9350 dengan ssd drive. Akan boot ke Ubuntu 16.10 setelah mengembalikan superblock dengan fsck dan tidak ada masalah me-reboot dari Ubuntu. Akan boot ke Windows 10 dari Ubuntu dan reboot tidak ada masalah. Namun, saat reboot ke Ubuntu superblock error yang sama membutuhkan perbaikan seperti di atas. Mencoba jawaban di bawah ini (nonaktifkan layanan pencadangan level blok) tetapi tidak diperbaiki. Juga konfirmasi jam sama dengan per komentar Anda di atas. Ada yang tahu mengapa hal ini terjadi?
samleighton87

Jawaban:

12

Saya telah melakukan beberapa penelitian dan tampaknya sejak ext2fsprogs 1.43 (Ubuntu 16.10), 64bit dan metadata_csumfitur-fiturnya diaktifkan ketika sistem file ext4 baru dibuat. Saya melakukan instalasi baru Ubuntu 16.10, tetapi sebelum menginstal, saya mulai ke sesi live USB dan menghapus 64bit dan metadata_csumfitur untuk ext4 dari /etc/mke2fs.conf. Setelah ini saya menjalankan installer keluar dari sesi langsung ini dan sekarang saya dapat memulai Windows 10 tanpa merusak partisi ext4 saya (Anda harus memformat ulang partisi ext4 Anda selama instalasi Ubuntu 16.10).

Masalahnya terkait dengan ext2fsd yang jelas tidak mendukung fitur 64bit dan / atau fitur metadata_csum. Cukup menginstal ext2fsd untuk merusak partisi ext4 Anda. Tidak perlu bagi mereka untuk dipasang di Windows.

Anda dapat memeriksa apakah fitur-fitur ini diaktifkan dengan perintah berikut:

sudo tune2fs -l /dev/[sdXX]

di mana [sdXX] adalah partisi-ext4 yang dimaksud.

hempel
sumber
4
Terima kasih, wajan juga dan saya pikir itu solusi yang lebih baik. Kita dapat melakukannya tanpa menginstal ulang sistem linux: dari live CD: sudo tune2fs -O ^ metadata_csum, ^ 64bit / dev / sdXX
f35
@ f35: perhatikan bahwa live CD / USB haruslah Ubuntu 16.10, karena versi Ubuntu sebelumnya tidak tahu apa-apa tentang metadata checksum.
krumpelstiltskin
Anda dapat menggunakan liveCD / DVD sebelumnya / apa pun jika Anda memiliki drive USB lain dengan partisi fat32 dan Anda meletakkan paket e2fslibs 1.43 dan e2fsrogs 1.43 di dalamnya dan menginstalnya melalui salah satu dpkgatau udpkgterlalu.
Wyatt8740
program yang mengerikan.
max pleaner
"Tidak perlu bagi mereka untuk dipasang di Windows." Mengapa masalah ini terjadi setiap kali saya mem-boot Windows?
quietContest
10

Saya memiliki masalah yang sama dan bagi saya tampaknya menjadi driver sistem file Windows 10 ext2fsd. Mungkin untukmu juga? Ketika saya menghapus ext2fsd (versi 0.68) saya dapat menjalankan Windows 10 sesering yang saya inginkan dan partisi ext4 tetap bersih. Dengan ext2fsd terinstal, semua partisi ext4 akan rusak tidak peduli apakah sudah terpasang atau tidak.

hempel
sumber
2
Terima kasih! Menghapus instalan ext2fsd dari windows memecahkan masalah saya
Yohanes Gultom
2

Saya punya solusi yang berfungsi untuk saya (diskpart adalah teman saya)

1) mengidentifikasi partisi linux di jendela administrasi cmd:

diskpart
list volume

Anda dapat melihat partisi linux Anda

  N° volume   Ltr  Nom          Fs     Type        Taille   Statut     Info
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  Volume 0     D   BIOS_RVY     NTFS   Partition     10 G   Sain
  Volume 1     E   System       NTFS   Partition    100 M   Sain       Système
  Volume 2     C   OS_Install   NTFS   Partition    131 G   Sain       Démarrag
  Volume 3     L                       Partition     18 G   Sain     

DISKPART>

Dalam kasus saya: Volume 3

2) buat skrip diskpart dengan notepad buat file volume3offline.txt

select volume 3
offline volume
exit

3) buat file kelelawar dengan notepad buat file govolume3offline.bat di direktori yang sama

cd \users\f35\documents
diskpart /s volume3offline.txt

4) membuat tugas terjadwal Buka windows tash scheduler Program tugas yang meluncurkan govolume3offline.bat saat boot

5) periksa apakah semuanya baik-baik saja setelah reboot di windows

diskpart
list volume

volume linux Anda harus luring

Reboot di linux

If no errors => it's good
if you have errors, 
    correct them
    reboot in windows
    reboot in linux 
       If no errors => it's good
       if you have errors, goto 1)
f35
sumber
1
Partisi root linux saya tidak muncul di diskpart. Ada yang tahu kenapa?
Darksworm
2

Pada hard drive GPT saya Ubuntu 16.10 berjalan paralel dengan Windows 7.

Saya mengalami masalah korupsi superblock yang didokumentasikan di sini, karena saya lupa menginstal ext2fs di masa lalu dan masih berjalan sebagai layanan Windows di latar belakang.

Ext2fs v0.69 baru mengatakan itu memperbaiki bug korupsi superblock dan saya menginstalnya dari http://www.ext2fsd.com/ . Namun, "ext2fs Manager" menunjukkan drive yang diformat ext4 saya sebagai ext3 dan tidak dapat diakses setelah pemasangan di Windows.

Jadi, saya telah menghapus instalan ext2fs sepenuhnya dan melakukannya

fsck.ext4 -p -b 884736 -B 4096 /dev/sdxyz

Ini memecahkan masalah superblock dan saya kembali normal.

pengguna774876
sumber
1
Ubuntu 16.10 tidak didukung, jadi Anda harus memutakhirkan!
Zanna
Pengalaman yang sama dengan 0,69 dengan Ubuntu 18,04. ext2fs jelas masih memiliki masalah dengan rilis Ubuntu saat ini.
Jonas
-1

Superblock di Ubuntu Partition sedang rusak oleh layanan Windows 10 Block Level Backup. Nonaktifkan melalui panel kontrol.

dave_melb
sumber
Ini tidak berhasil
samleighton87
Saya dapat mengkonfirmasi: dengan wbengine dinonaktifkan, saya masih memiliki masalah juga
f35