Windows 10이 매번 ext4 수퍼 블록을 손상시키지 않도록하려면 어떻게해야합니까?


21

5 년 이상 듀얼 부팅 Ubuntu / Windows가 설치된 PC가 있습니다. 마지막 작업 구성은 Windows 10 및 Ubuntu 16.04 LTS입니다.

Linux 파티션에 Ubuntu 16.10을 설치하고 몇 가지 문제가 있습니다.

  • Linux로만 부팅해도 아무런 문제가 없으면 정상적으로 작동합니다.
  • 창을 부팅해도 문제 없습니다. 창이 제대로 작동합니다.
  • Windows 후 Linux를 부팅하면 수퍼 블록 오류가 발생하여 busybox로 떨어집니다.

내가 수퍼 블록을 복원하면

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

Linux를 부팅 할 수 있지만 Windows로 다시 부팅 한 후에도 동일한 문제가 다시 발생합니다.

물론 나는 해결책을 찾았다.

  • chkdsk그리고 testdisk창문에있는 동안.
  • 확장 파티션을 제거하고 Linux 설치 관리자가이를 다시 만들도록했습니다.
  • 확장 partion + 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이 새로운 윈도우 파티션을 시작했습니다 → 두 시간 후에 모두 좋습니다
  • Ubuntu 16.10을 다시 설치하고 설치 프로그램이 디스크 크기를 조정하고 ext4 및 스왑 부분을 작성하도록했습니다.
  • 나는 리눅스를 부팅 → 문제 없어
  • Windows 부팅 → 문제 없음 (Windows와 Linux 중에서 선택할 수있는 Windows 메뉴에 도달하고 Windows를 선택합니다)
  • 나는 리눅스를 부팅 : 같은 문제를 다시 (슈퍼 블록 오류)

업데이트 : 정확한 수퍼 블록 오류 :

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부터 W10 ext2도구를 사용하여 Linux ext4 파티션을 마운트 할 수 있습니다 . 잘 작동합니다. 파일을 볼 수 있습니다. 그러나 그 후에 Linux에서 부팅 할 때 같은 문제가 있습니다 : 수퍼 블록 오류.

물론 W10 (로그인 없음)을 부팅하고 Linux를 재부팅하면 문제도 있습니다.

문제는 W11 1511에 있었으며 1607 W10으로 업그레이드했습니다. 같은 문제

나는이 문제로 지구상에서 혼자가 아니라는 것을 알았지 만 해결책을 찾지 못했습니다.

update2 : 리눅스와 스왑 파티션을 제거하고 Windows에서 새 파티션을 만듭니다. 그런 다음 Ubuntu 16.10 => 동일한 문제를 다시 설치했습니다.

업데이트 3 : 솔루션의 시작 아마도 솔루션을 찾았습니다. Windows에서 loggued 할 때 : 명령으로 diskpartLinux 볼륨을 설정하면 Linux를 offline 부팅 할 때 더 이상 문제가 없습니다.

이제 볼륨 오프라인 자동 분석을 설정하는 방법을 찾아야합니다 (regedit?).


Windows 및 Linux가 UEFI BIOS 또는 레거시 BIOS 모드로 설치되어 있습니까? Windows와 Ubuntu간에 전환 할 때 BIOS 설정을 변경합니까? 스토리지 설정에 어떤 종류의 RAID를 사용합니까? Ext2fsd와 같은 파일 시스템 드라이버를 사용하여 Windows에서 ext 파일 시스템에 액세스 했습니까?
David Foerster

UEFI bios : 아니오, BIOS 변경 : 아니오, RAID 아니오 (MSI u270), Windows에서 Linux 파티션에 액세스 : no. 창을 부팅하고 (로그인하지 않음) 우분투로 다시 시작하면 문제가 나타납니다. 내 문제에 관심을 가져 주셔서 감사합니다
f35

무슨 슈퍼 블록 오류? 시간 시계 문제가 아닌가요? 수퍼 블록에 저장된 시간이 hardawre 시계에 의해보고 된 시간보다 짧으면 해당 문제가있을 수 있습니다. 리눅스와 윈도우 모두에서 하드웨어 시계로 UTC로 시간을 저장하십시오.
solsTiCe

@solsTiCe : 정확한 수퍼 블록 오류가 있는지 초기 게시물에서 업데이트를 확인하십시오. bios의 시계는 UTC, Windows의 시계는 현지 시간의 UTC, 우분투의 시계 : sudo dpkg-reconfigure tzdata 현재 기본 시간대 : '유럽 / 파리'현지 시간 : 현재 11 월 20 일 21:55:16 CET 2016. 세계시 : 현재 일요일 11 월 20 일 20:55:16 UTC 2016.
f35

@ f35 나는 같은 문제가 있습니다. SSD 드라이브가 장착 된 Dell XPS 13 9350을 사용한 듀얼 부팅. fsck로 수퍼 블록을 복원 한 후 Ubuntu 16.10으로 부팅되며 Ubuntu에서 재부팅 할 때 아무런 문제가 없습니다. 우분투에서 Windows 10으로 부팅하고 문제없이 재부팅합니다. 그러나 Ubuntu로 재부팅하면 위와 같이 수정이 필요한 동일한 수퍼 블록 오류가 발생합니다. 아래의 답변을 시도했지만 (블록 레벨 백업 서비스 비활성화) 수정되지 않았습니다. 또한 시계가 위의 설명과 동일하다는 것을 확인하십시오. 왜 이런 일이 일어나는지 아십니까?
samleighton87

답변:


12

나는 약간의 연구를 해왔으며 ext2fsprogs 1.43 (Ubuntu 16.10) 이후 metadata_csum로 새로운 ext4 파일 시스템이 만들어 지면 64 비트와 기능이 활성화 된 것으로 보입니다 . Ubuntu 16.10을 새로 설치했지만 설치하기 전에 USB 라이브 세션을 시작하여 64 비트 및 metadata_csumext4의 기능을에서 제거했습니다 /etc/mke2fs.conf. 그런 다음이 라이브 세션에서 설치 프로그램을 실행했으며 이제 ext4 파티션을 손상시키지 않고 Windows 10을 시작할 수 있습니다 (Ubuntu 16.10을 설치하는 동안 ext4 파티션을 다시 포맷해야합니다).

이 문제는 64 비트 기능 및 / 또는 metadata_csum 기능을 지원하지 않는 ext2fsd와 관련이 있습니다. ext4 파티션을 손상시키기 위해서는 ext2fsd를 설치하는 것으로 충분합니다. Windows에 마운트 할 필요가 없습니다.

다음 명령으로 이러한 기능이 활성화되어 있는지 확인할 수 있습니다.

sudo tune2fs -l /dev/[sdXX]

여기서 [sdXX]는 문제의 ext4 파티션을 나타냅니다.


4
고마워요, 그것은 또한 깨어 나고 더 나은 해결책이라고 생각합니다. 우리는 리눅스 시스템을 다시 설치하지 않고 그것을 할 수 있습니다 : 라이브 CD에서 : sudo tune2fs -O ^ metadata_csum, ^ 64bit / dev / sdXX
f35

@ f35 : 이전 버전의 Ubuntu는 메타 데이터 체크섬에 대해 아무것도 모르기 때문에 라이브 CD / USB는 Ubuntu 16.10이어야합니다.
krumpelstiltskin

fat32 파티션이있는 다른 USB 드라이브가 있고 e2fslibs 1.43 및 e2fsprogs 1.43 데비안 패키지를 설치 한 경우 dpkg또는 이전 버전을 사용하여 이전 liveCD / DVD /를 사용할 수 있습니다 udpkg.
Wyatt8740

정말 끔찍한 프로그램입니다
max pleaner

"Windows에 마운트 할 필요가 없습니다." Windows를 부팅 할 때마다이 문제가 발생하는 이유는 무엇입니까?
quietContest

10

나는 같은 문제가 있고 그것은 Windows 10 ext2fsd 파일 시스템 드라이버 인 것 같습니다. 아마 당신 도요? ext2fsd (버전 0.68)를 제거하면 원하는만큼 Windows 10을 시작할 수 있으며 ext4 파티션은 깨끗하게 유지됩니다. ext2fsd를 설치하면 모든 ext4 파티션이 마운트 여부에 관계없이 손상됩니다.


2
감사! Windows에서 ext2fsd를 제거하면 내 문제가 해결되었습니다.
Yohanes Gultom

2

나에게 맞는 해결책이 있습니다 (diskpart는 내 친구입니다)

1) cmd 관리 창에서 Linux 파티션을 식별하십시오.

diskpart
list volume

당신은 당신의 리눅스 파티션을 볼 수 있습니다

  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 스크립트를 작성하십시오. volume3offline.txt 파일을 작성하십시오.

select volume 3
offline volume
exit

3) 메모장으로 박쥐 파일 만들기 같은 디렉토리에 govolume3offline.bat 파일 만들기

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

4) 예약 된 작업 만들기 Windows tash 스케줄러 프로그램을 엽니 다. 부팅시 govolume3offline.bat를 실행하는 작업

5) Windows에서 재부팅 후 모든 것이 정상인지 확인하십시오.

diskpart
list volume

리눅스 볼륨은 오프라인 상태 여야합니다

리눅스에서 재부팅

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
내 리눅스 루트 파티션이 diskpart에 나타나지 않습니다. 왜 그런지 알아?
Darksworm

2

내 GPT 하드 드라이브에서 Ubuntu 16.10이 Windows 7과 병렬로 실행 중입니다.

과거에 ext2fs를 설치하지 않았고 여전히 백그라운드에서 Windows 서비스로 실행되고 있었기 때문에 여기에 문서화 된 수퍼 블록 손상 문제가 발생했습니다.

새로운 ext2fs v0.69는 수퍼 블록 손상 버그를 수정했으며 http://www.ext2fsd.com/ 에서 설치했습니다 . 그러나 "ext2fs Manager"는 ext4 형식의 드라이브를 ext3으로 표시했으며 Windows에서 마운트 한 후에는 액세스 할 수 없습니다.

그래서, 나는 ext2fs를 완전히 제거했고

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

이것은 수퍼 블록 문제를 해결했으며 다시 정상으로 돌아 왔습니다.


1
Ubuntu 16.10은 지원되지 않으므로 업그레이드해야합니다!
잔나

Ubuntu 18.04에서 0.69와 동일한 경험. ext2fs에는 현재 Ubuntu 릴리스에 여전히 문제가 있습니다.
조나스

-1

Ubuntu Partition의 Superblock이 Windows 10 Block Level Backup 서비스에 의해 손상되었습니다. 제어판을 통해 비활성화하십시오.


이 작동하지 않았다
samleighton87

나는 확인할 수 있습니다 : wbengine이 비활성화 된 상태에서도 여전히 문제가 있습니다
f35
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.