Ho un PC con Ubuntu/Windows dual-boot da più di 5 anni.
L'ultima configurazione funzionante era:Windows 10 e Ubuntu 16.04 LTS.
Installo Ubuntu 16.10 sulla partizione Linux e ho alcuni problemi:
- Se avvio solo su Linux, nessun problema, funziona bene.
- Se avvio Windows, nessun problema, Windows funziona correttamente.
- Se avvio Linux dopo Windows, ho un errore di superblocco e passo a busybox.
Se ripristino il superblocco con
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
Posso avviare Linux ma dopo un altro avvio su Windows si ripresentano gli stessi problemi.
Ovviamente ho provato soluzioni trovate:
chkdsk
etestdisk
mentre su Windows.- Rimosso la partizione estesa e lascio che il programma di installazione di Linux le ricrei.
- Crea con e, la partizione estesa + ext4 e scambia e seleziona queste partizioni durante il processo di installazione.
La tabella delle partizioni (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
Ho fatto altri test senza successo:
- Ho rimosso la partizione estesa di Linux
- Ho esteso la partizione di Windows all'intero disco
- Ho lanciato un
chkdsk /F /R
su questa nuova partizione di Windows → dopo un paio d'ore va tutto bene - Ho reinstallato Ubuntu 16.10 e ho lasciato che il programma di installazione ridimensionasse il disco e creasse la parte ext4 e swap.
- Avvio Linux → nessun problema
- Avvio Windows → nessun problema (raggiungo il menu di Windows che mi permette di scegliere tra Windows e Linux, scelgo Windows)
- Avvio Linux:di nuovo lo stesso problema (errore superblocco)
Aggiorna :
l'errore esatto del superblocco :
fsck.ext4: Superblock checksum does not match superblock while trying to open /dev/sda5
Per ripararlo :
fsck.ext4 -p -b 884736 -B 4096 /dev/sda5
funziona bene, ma dopo l'avvio di Windows il problema si ripresenta...
Aggiornamento 2 :
Da W10, posso montare la partizione linux ext4 con il ext2
W10 attrezzo. Funziona bene, posso vedere i file. Ma dopo, stesso problema, quando avvio su Linux:errori di superblocco.
Ovviamente se avvio semplicemente W10 (nessun accesso) e riavvio Linux, anche il problema è lì.
Il problema era presente con W10 1511, ho aggiornato a W10 1607:stesso problema
Correlati:come verificare la presenza di errori nella RAM tramite Linux?Ho visto che non ero solo sulla terra con questo problema, ma non ho visto alcuna soluzione.
update2 :
Ho rimosso la partizione Linux e swap e ho creato una nuova partizione da Windows.
Quindi ho reinstallato Ubuntu 16.10 => stesso problema di nuovo
aggiornamento 3:l'inizio della soluzione
Forse ho trovato una soluzione.
Quando effettuato l'accesso a Windows:
Con il comando diskpart
, quando il volume di Linux è impostato su offline
non ci sono più problemi quando avvio linux.
Ora devo trovare come impostare il volume offline automaticamente (regedit?)
Migliore risposta
Ho fatto alcune ricerche e sembra che da ext2fsprogs 1.43 (Ubuntu 16.10), il 64 bit e il metadata_csum
le funzionalità sono abilitate quando viene creato un nuovo filesystem ext4. Ho eseguito una nuova installazione di Ubuntu 16.10, ma prima dell'installazione ho avviato la sessione live USB e rimosso 64 bit e metadata_csum
funzionalità per ext4 da /etc/mke2fs.conf
. Dopo questo ho eseguito il programma di installazione fuori da questa sessione live e ora posso avviare Windows 10 senza danneggiare le mie partizioni ext4 (devi riformattare le tue partizioni ext4 durante l'installazione di Ubuntu 16.10).
Il problema è relativo a ext2fsd che ovviamente non supporta la funzionalità a 64 bit e/o la funzionalità metadata_csum. È sufficiente avere ext2fsd installato per corrompere le partizioni ext4. Non è necessario che vengano montati in Windows.
Puoi verificare se queste funzionalità sono abilitate con il seguente comando:
sudo tune2fs -l /dev/[sdXX]
dove [sdXX] sta per la partizione ext4 in questione.