ฉันจะป้องกันไม่ให้ Windows 10 ทำการทำลาย ext4 superblock ทุกครั้งได้อย่างไร?


21

ฉันมีพีซีที่ใช้ Ubuntu / Windows ดูอัลบูตมานานกว่า 5 ปี การกำหนดค่าการทำงานล่าสุดคือ: windows 10 และ Ubuntu 16.04 LTS

ฉันติดตั้ง Ubuntu 16.10 บนพาร์ติชัน Linux และมีปัญหา:

  • ถ้าฉันแค่บูทบน Linux ก็ไม่มีปัญหามันใช้งานได้ดี
  • ถ้าฉันบูต windows ไม่มีปัญหา windows ทำงานได้ดี
  • ถ้าฉันบูต Linux หลัง windows ฉันมีข้อผิดพลาด superblock และไปที่ busybox

ถ้าฉันคืน superblock ด้วย

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

ฉันสามารถบูท Linux ได้ แต่หลังจากบูทไปยัง Windows ปัญหาอีกครั้งก็เหมือนกัน

แน่นอนฉันได้ลองวิธีแก้ปัญหาแล้ว:

  • chkdskและtestdiskในขณะที่บน windows
  • ฉันลบพาร์ติชั่นเสริมแล้วให้ตัวติดตั้ง 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 ไปยังดิสก์แบบเต็ม
  • ฉันเปิดตัว a chkdsk /F /R→พาร์ติชั่นใหม่→หน้าต่างหลังจากผ่านไปสองสามชั่วโมงทุกอย่างก็ดี
  • ฉันติดตั้ง Ubuntu 16.10 อีกครั้งและให้โปรแกรมติดตั้งปรับขนาดดิสก์และสร้างส่วน ext4 และ swap
  • ฉันบูท Linux →ไม่มีปัญหา
  • ฉันบูท windows →ไม่มีปัญหา (ไปถึงเมนู windows ที่ให้ฉันเลือกระหว่าง Windows และ Linux, ฉันเลือก Windows)
  • ฉันบูต Linux: ปัญหาเดียวกันอีกครั้ง (ข้อผิดพลาด superblock)

อัปเดต: ข้อผิดพลาด superblock ที่แน่นอน:

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 ฉันสามารถเมานต์พาร์ติชัน linux ext4 ด้วยext2เครื่องมือW10 มันใช้งานได้ดีฉันสามารถดูไฟล์ แต่หลังจากนั้นปัญหาเดียวกันเมื่อฉันบูตบน Linux: ข้อผิดพลาด superblock

แน่นอนถ้าฉันเพิ่งบูท W10 (ไม่มีการล็อกอิน) และรีบูทลินุกซ์ปัญหาก็มีอยู่เช่นกัน

ปัญหาเกิดขึ้นกับ W10 1511 ฉันได้อัปเกรดเป็น W10 1607: ปัญหาเดียวกัน

ฉันเห็นว่าฉันไม่ได้อยู่คนเดียวบนโลกนี้ด้วยปัญหานี้ แต่ฉันไม่เห็นวิธีแก้ปัญหาใด ๆ

update2: ฉันลบ linux และ swap partition และสร้างพาร์ติชั่นใหม่จาก windows จากนั้นฉันติดตั้ง Ubuntu 16.10 => ปัญหาเดิมอีกครั้ง

อัปเดต 3: การเริ่มต้นของโซลูชันฉันอาจพบวิธีแก้ไขปัญหา เมื่อเข้าสู่ระบบใน windows: ด้วยคำสั่งdiskpartเมื่อตั้งค่าปริมาณ linux offline จะไม่มีปัญหาเมื่อฉันบูต linux

ตอนนี้ฉันต้องหาวิธีตั้งค่าระดับเสียงออฟไลน์โดยอัตโนมัติ (regedit?)


ติดตั้ง Windows และ Linux ใน UEFI BIOS หรือโหมด BIOS ดั้งเดิมหรือไม่ คุณเปลี่ยนการตั้งค่า BIOS เมื่อคุณสลับระหว่าง Windows และ Ubuntu หรือไม่ คุณใช้ RAID บางชนิดสำหรับการตั้งค่าที่เก็บข้อมูลของคุณหรือไม่? คุณเข้าถึงระบบไฟล์ ext จาก Windows ด้วยไดรเวอร์ระบบไฟล์อย่าง Ext2fsd หรือไม่?
David Foerster

ประวัติ UEFI: ไม่, เปลี่ยนใน BIOS: ไม่, RAID no (เป็น MSI u270), เข้าถึงพาร์ติชัน linux จาก Windows: ไม่ เพียงแค่การบูทวินโดว์ (ไม่มีการล็อกอิน) และรีสตาร์ทด้วยอูบุนตูทำให้เกิดปัญหา ขอขอบคุณที่ให้ความสนใจกับปัญหาของฉัน
f35

ข้อผิดพลาด super block คืออะไร ไม่ใช่ปัญหานาฬิกาเวลาใช่หรือไม่ หากเวลาที่จัดเก็บในบล็อกซุปเปอร์น้อยกว่าเวลาที่รายงานโดยนาฬิกา hardawre คุณอาจมีปัญหานั้น พยายามเก็บเวลาใน UTC ในนาฬิกาฮาร์ดแวร์ทั้งบน linux และ windows
solsTiCe

@solsTiCe: ตรวจสอบการอัปเดตของฉันในโพสต์เริ่มต้นสำหรับข้อผิดพลาด superblock ที่แน่นอน นาฬิกาในไบออสคือ UTC, นาฬิกาใน Windows คือ UTC ตามเวลาท้องถิ่น, นาฬิกาในอูบุนตู: sudo dpkg-reconfigure tzdata โซนเวลาเริ่มต้นปัจจุบัน: 'ยุโรป / ปารีส' เวลาท้องถิ่นอยู่ในขณะนี้: Sun Nov 20 21:55:16 CET 2016 เวลาสากลขณะนี้: อาทิตย์ 20 พ.ย. 20:55:16 UTC 2016.
f35

@ f35 ฉันมีปัญหาเดียวกัน การบูทสองระบบด้วย Dell XPS 13 9350 พร้อมไดรฟ์ ssd จะบูตเข้าสู่ Ubuntu 16.10 หลังจากกู้คืน superblock ด้วย fsck และไม่มีปัญหาในการรีบูตจาก Ubuntu จะทำการบูทเข้าสู่ Windows 10 จาก Ubuntu และทำการรีบูทโดยไม่มีปัญหา อย่างไรก็ตามเมื่อทำการรีบูทเป็นข้อผิดพลาด Superblock เดียวกันของ Ubuntu จำเป็นต้องแก้ไขดังกล่าว คำตอบที่พยายามด้านล่าง (ปิดใช้งานบริการสำรองข้อมูลในระดับบล็อก) แต่ไม่ได้แก้ไข นอกจากนี้ยังยืนยันว่านาฬิกาเหมือนกันกับความคิดเห็นข้างต้นของคุณ ใครรู้ว่าทำไมสิ่งนี้เกิดขึ้น
samleighton87

คำตอบ:


12

ฉันได้ทำการวิจัยบางอย่างและดูเหมือนว่าตั้งแต่ ext2fsprogs 1.43 (Ubuntu 16.10), 64 บิตและmetadata_csumคุณสมบัติจะเปิดใช้งานเมื่อมีการสร้างระบบไฟล์ ext4 ใหม่ ผมไม่สดติดตั้ง Ubuntu 16.10 แต่ก่อนการติดตั้งผมเริ่มเข้ามาในเซสชั่น USB สดและลบออก 64bit และmetadata_csumให้บริการสำหรับ ext4 /etc/mke2fs.confจาก หลังจากนี้ฉันรันโปรแกรมติดตั้งออกจากเซสชันสดและตอนนี้ฉันสามารถเริ่ม Windows 10 ได้โดยไม่ทำให้พาร์ติชัน ext4 ของฉันเสียหาย (คุณต้องฟอร์แมตพาร์ติชัน ext4 ของคุณใหม่อีกครั้งในระหว่างการติดตั้ง Ubuntu 16.10)

ปัญหาเกี่ยวข้องกับ ext2fsd ซึ่งเห็นได้ชัดว่าไม่รองรับคุณสมบัติ 64 บิตและ / หรือคุณลักษณะ metadata_csum มันเพียงพอที่จะติดตั้ง ext2fsd เพื่อทำให้พาร์ติชัน ext4 ของคุณเสียหาย ไม่จำเป็นต้องติดตั้งใน Windows

คุณสามารถตรวจสอบว่าฟีเจอร์เหล่านี้เปิดใช้งานด้วยคำสั่งต่อไปนี้หรือไม่:

sudo tune2fs -l /dev/[sdXX]

โดยที่ [sdXX] หมายถึง ext4-partition ที่มีปัญหา


4
ขอบคุณมันก็เหมือนกันและมันก็เป็นทางออกที่ดีกว่าที่ฉันคิด เราสามารถทำได้โดยไม่ต้องติดตั้งระบบ linux อีกครั้ง: จากซีดีสด: sudo tune2fs -O ^ metadata_csum, ^ 64bit / dev / sdXX
f35

@ f35: โปรดทราบว่า CD / USB สดต้องเป็น Ubuntu 16.10 เนื่องจาก Ubuntu รุ่นก่อนหน้าไม่ทราบอะไรเกี่ยวกับการตรวจสอบข้อมูลเมตา
krumpelstiltskin

คุณสามารถใช้ liveCD / DVD ก่อนหน้านี้ / อะไรก็ได้ถ้าคุณมีไดรฟ์ USB ที่มีพาร์ติชั่น fat32 และคุณใส่ e2fslibs 1.43 และ e2fsprogs 1.43 debian package บนมันและติดตั้งผ่านdpkgหรือudpkgไม่ก็ได้
ไวแอตต์ 8740

เป็นโปรแกรมที่น่ากลัว
สูงสุด

"ไม่จำเป็นต้องติดตั้งใน Windows" เหตุใดปัญหานี้จึงเกิดขึ้นทุกครั้งที่ฉันบูต Windows
quietContest

10

ฉันมีปัญหาเดียวกันและสำหรับฉันมันน่าจะเป็นไดรเวอร์ระบบไฟล์ Windows 10 ext2fsd บางทีสำหรับคุณด้วย? เมื่อฉันถอนการติดตั้ง ext2fsd (เวอร์ชั่น 0.68) ฉันสามารถเริ่ม Windows 10 ได้บ่อยเท่าที่ฉันต้องการและพาร์ติชัน ext4 ยังคงสะอาดอยู่ เมื่อติดตั้ง ext2fsd พาร์ติชัน ext4 ทั้งหมดจะได้รับความเสียหายไม่ว่าจะติดตั้งหรือไม่ก็ตาม


2
ขอบคุณ! การถอนการติดตั้ง ext2fsd จาก windows ช่วยแก้ปัญหาของฉันได้
Yohanes Gultom

2

ฉันมีทางออกที่เหมาะกับฉัน (diskpart เป็นเพื่อนของฉัน)

1) ระบุพาร์ติชัน linux ในหน้าต่างการจัดการ cmd:

diskpart
list volume

คุณสามารถเห็นพาร์ติชัน linux ของคุณ

  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>

ในกรณีของฉัน: เล่ม 3

2) สร้างสคริปต์ diskpart ด้วย notepad สร้างไฟล์ volume3offline.txt

select volume 3
offline volume
exit

3) สร้างไฟล์ bat ด้วย notepad สร้างไฟล์ govolume3offline.bat ในไดเรกทอรีเดียวกัน

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

4) สร้างงานที่กำหนดเวลาเปิด windows tash scheduler โปรแกรมงานที่เปิดตัว govolume3offline.bat ณ เวลาบูต

5) ตรวจสอบว่าทุกอย่างโอเคหลังจากรีบูตใน windows

diskpart
list volume

ปริมาณ linux ของคุณควรออฟไลน์

รีบูตใน 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)

1
พาร์ทิชันราก Linux ของฉันไม่ปรากฏใน diskpart มีความคิดอะไรไหม
Darksworm

2

ใน GPT ฮาร์ดไดรฟ์ Ubuntu 16.10 ของฉันทำงานคู่ขนานกับ Windows 7

ฉันพบปัญหาการทุจริต superblock ที่นี่เนื่องจากฉันลืมติดตั้ง ext2fs ในอดีตและมันยังคงทำงานเป็นบริการของ Windows ในพื้นหลัง

ext2fs v0.69 ใหม่กล่าวว่าการแก้ไขข้อผิดพลาดซุปเปอร์บล๊อกการทุจริตและผมติดตั้งได้จากhttp://www.ext2fsd.com/ อย่างไรก็ตาม "ext2fs Manager" แสดงให้เห็นว่าไดรฟ์ของฉันมีรูปแบบ ext4 เป็น ext3 และไม่สามารถเข้าถึงได้หลังจากติดตั้งภายใต้ Windows

ดังนั้นฉันได้ถอนการติดตั้ง ext2fs อย่างสมบูรณ์และทำ

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

สิ่งนี้แก้ไขปัญหา superblock และฉันกลับมาเป็นปกติ


1
Ubuntu 16.10 ไม่รองรับดังนั้นคุณควรอัพเกรด!
Zanna

ประสบการณ์เดียวกันกับ 0.69 กับ Ubuntu 18.04 ext2fs ชัดเจนยังคงมีปัญหากับ Ubuntu รุ่นปัจจุบัน
Jonas

-1

Superblock บน Ubuntu Partition เสียหายโดยบริการ Windows 10 Block Level Backup ปิดใช้งานผ่านแผงควบคุม


สิ่งนี้ไม่ได้ผล
samleighton87

ฉันสามารถยืนยันได้: เมื่อปิดการใช้งาน wbengine ฉันยังคงมีปัญหาเช่นกัน
f35
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.