Come formattare un disco rigido crittografato utilizzando Linux?


1

Non ho molta esperienza con Linux, tuttavia ci sono molte informazioni in giro, quindi di solito posso imparare di cosa ho bisogno. Non ho mai capito, tuttavia, cosa significhi "montaggio" in Linux. Durante l'utilizzo di Windows inserisco semplicemente qualcosa (diciamo, una chiavetta USB) e quindi Windows mi chiede "Ehi, vuoi cercarlo?", Chiaramente Windows fa qualcosa che dovrei sapere come fare ma io no capito perfettamente.

Ho un HD più vecchio che è stato crittografato e sono riuscito a dimenticare la password, l'ho semplicemente ignorato in quel momento poiché tutto ciò di cui avevo bisogno era effettivamente sicuro altrove, ma ora voglio usare di nuovo l'HD per uno scopo diverso, quindi in altri parole che voglio formattare l'HD.

Ho quindi provato a utilizzare SystemRescueCd per farlo, poiché avevo già provato ad avviarlo da esso e potevo montare un HD con successo. Il problema è, per montare qualcosa che faccio (copia e incolla, intendiamoci)

mount /dev/fd0 /mnt/FolderIJustCreated

Tuttavia, questa volta non funziona, dal momento che non riconosce il tipo HD, e non posso evitarlo alimentando -t poiché non so nemmeno quale sia il tipo HD. Voglio dire, doveva essere fat32, ma penso che la crittografia lo distrugga. Quindi, come potrei montare questo HD senza tipizzazione?

Inoltre, non ho mai capito da dove provenisse la parte "/ dev / fd0", ciò significa che la cosa che sto montando è già sul mio sistema nella cartella / dev /?


1
L'hardware fisico (ad es. Unità disco, disco USB) viene aggiunto a / dev / dalle regole udev dallo spazio del kernel nelle distribuzioni moderne. / dev / fd0 è comunemente il primo dispositivo floppy trovato, dubito fortemente che sia il tuo HDD crittografato. Se vuoi (riutilizzare) ignorando il contenuto corrente devi a) trovare il nodo del dispositivo (controlla l'output di dmesg ) eb) dargli un nuovo file system, ad esempio mkfs.ext3 / dev / <il tuo HDD > ... quindi montalo.
tink

1
@tink: piccolo aggiornamento: nelle distribuzioni moderne , udev non lo fa nemmeno più, viene eseguito direttamente dal kernel.
Grawity

1
@grawity: puoi indicarmi il doco che lo conferma? So che il kernel popola / sys con le informazioni sul dispositivo, ma per quanto ne so la maggior parte delle distro (cose a cui ho accesso immediato per includere debian squeeze [ok, non così moderno], RHEL 6.2, Ubuntu 12.04) usano ancora udev per / nodi dispositivo dev?
tink

1
@tink: tutte le distro usano ancora udev, ma ha smesso di creare nodi di dispositivo - il kernel ora lo fa automaticamente usando devtmpfs (da non confondere con il vecchio devfs) . udev imposta solo la proprietà e le autorizzazioni giuste; crea collegamenti simbolici in /dev/diske simili; e mantiene il suo database di informazioni sul dispositivo ( udevadm info). Controlla se il tuo /devè montato come "tmpfs" (udev crea devnodes) o come "devtmpfs" (il kernel crea devnodes).
Grawity

1
@grawity - grazie; impari qualcosa ogni giorno, eh? :)
tink

Risposte:


3

Non ho molta esperienza con Linux, tuttavia ci sono molte informazioni in giro, quindi di solito posso imparare di cosa ho bisogno. Non ho mai capito, tuttavia, cosa significhi "montaggio" in Linux. Durante l'utilizzo di Windows inserisco semplicemente qualcosa (diciamo, una chiavetta USB) e quindi Windows mi chiede "Ehi, vuoi cercarlo?", Chiaramente Windows fa qualcosa che dovrei sapere come fare ma io no capito perfettamente.

Se hai utilizzato archivi Zip o RAR, il montaggio di un disco è in qualche modo simile all'apertura di un tale archivio. La differenza più grande è che viene eseguita dal sistema operativo stesso (non da un programma separato).

  • Quando si apre un archivio, in pratica si dice ad alcuni programmi di leggere il contenuto del file .zip e consentire l'accesso ai file archiviati all'interno.
  • Quando si monta un disco, si dice al sistema operativo di leggere il contenuto del disco e consentire l'accesso ai file all'interno.

Windows, essendo principalmente un sistema operativo desktop e avendo la parte "desktop" completamente integrata, si occupa di montare automaticamente i dischi. Su Linux, nella maggior parte degli ambienti desktop, è anche automatico, ma Linux consente solo di eliminare il "desktop" e tutta la sua automazione, a seconda delle esigenze. (Linux è solo il kernel, tutto il resto viene già come componenti separati.) Ad esempio, viene utilizzato su server che non hanno o non necessitano di porte USB, router, TV, telefoni cellulari ... Vari CD di "ripristino" , come SystemRescueCd, evita anche l'auto-montaggio a causa di possibili rischi, ad esempio se si sta tentando di recuperare i dati da un disco danneggiato, quindi provare a montarlo potrebbe corromperlo ancora di più.

Il problema è, per montare qualcosa che faccio (copia e incolla, intendiamoci)

mount /dev/fd0 /mnt/FolderIJustCreated

Tuttavia, questa volta non funziona, dal momento che non riconosce il tipo HD, e non posso evitarlo alimentando -t poiché non so nemmeno quale sia il tipo HD. Voglio dire, doveva essere fat32, ma penso che la crittografia lo distrugga. Quindi, come potrei montare questo HD senza tipizzazione?

Per prima cosa assicurati di puntarlo verso l'HD. /dev/fd0indica sempre il dischetto zeroth . I dischi rigidi sono di solito chiamati /dev/sda, /dev/sdb... (Su vecchie versioni di Linux, erano /dev/hda, /dev/hdb... - non so quanti anni è SystemRescueCd.)

Inoltre, la maggior parte delle volte dovrai puntare mountsu una partizione specifica su quel disco. Anche se ci fosse una sola partizione, ha ancora un nodo dispositivo separato: se l'intero disco è /dev/sda, allora le partizioni saranno /dev/sda1, /dev/sda2e così via. L'HD nel suo insieme non ha un "tipo"; invece, ogni partizione lo fa. O ancora più precisamente, i filesystem esistenti in ciascuna partizione hanno tipi come FAT32 o ext2.

In secondo luogo, sì, se il disco è stato crittografato, non è possibile montarlo direttamente: è necessario prima sbloccarlo. Non può esserci un'unica risposta su come farlo, dal momento che non hai detto quale programma è stato utilizzato per crittografarlo: BitLocker? TrueCrypt? LUKS? Qualcosa di completamente diverso? Alcuni funzionano anche su Windows.

Tuttavia, se tutto ciò che vuoi è scartare tutti i dati esistenti sul disco e formattarlo di nuovo, il montaggio non è comunque necessario. Puoi creare un nuovo filesystem vuoto - in altre parole, formattare il disco - usando mkfs; vedi sotto.

Prima di farlo, potrebbe essere necessario eliminare tutte le partizioni e crearne una vuota. Tuttavia, non è necessario in tutti i casi: se i comandi po printseguenti mostrano solo una partizione che copre l'intero spazio su disco, è possibile saltare gli altri passaggi e formattare direttamente la partizione. Ma alcuni programmi di crittografia del disco potrebbero aver modificato la tabella delle partizioni in modi insoliti.

  • Se SystemRescueCd esegue un'interfaccia grafica, potrebbe essere GParted nei menu.

  • Utilizzando parted:

    1. Corri parted /dev/sda.
    2. Utilizzare print freeper verificare il contenuto della tabella delle partizioni.
    3. Utilizzare mktable msdosper creare una nuova tabella delle partizioni.
    4. Utilizzare mkpart primary fat32 1 100%per creare una nuova partizione (sostituendola fat32con ntfsse necessario - uguale al "tipo" di fdisk, ciò non influisce sul file system che la partizione conterrà).
    5. Uscire parted con quit.
  • Utilizzando fdisk:

    1. Esegui fdisk /dev/sda(assegnandogli il nome del dispositivo per l'intero HD).
    2. Utilizzare pper visualizzare i contenuti della tabella delle partizioni.
    3. È possibile utilizzare qper uscire da fdisk , se mostra già solo una singola partizione.
    4. Utilizzare il ocomando per creare una nuova tabella delle partizioni vuota.
    5. Utilizzare nper creare una nuova partizione. Premendo Invio per tutte le domande dovrebbe funzionare, ma per riferimento, dovrebbero essere fornite queste risposte: pper "primario" come tipo, 1come il numero, 2048come primo settore, e basta premere Invio quando viene chiesto sull'ultimo settore - ci vorrà l'intero disco .
    6. Utilizzare tper modificare il "tipo" della partizione. Dagli 0cse stai pianificando di usare un filesystem FAT32 sul disco o 07se stai pianificando di usare NTFS. (Tuttavia, il tipo di partizione è solo un numero e non determina realmente il contenuto della partizione Ad essere sincero, non so se Windows si preoccupi della differenza tra 0ce 07. Linux sicuramente no.)
    7. Utilizzare wper scrivere effettivamente le modifiche sul disco.

Dopo questo, dovresti avere un disco con una partizione che copre l'intero spazio del disco. Se il disco era /dev/sda, questa partizione sarà /dev/sda1. Al momento contiene solo spazzatura (residui dei dati crittografati), quindi crea un filesystem usando uno dei mkfscomandi:

  • Per creare un filesystem FAT32, eseguire mkfs.vfat /dev/sda1.

  • Per creare un filesystem NTFS, eseguire mkfs.ntfs /dev/sda1.

  • Oppure, se SystemRescueCd non ha mkfs.ntfs, collegare il disco a un computer Windows e utilizzare l'opzione "Formato" lì.

NTFS può essere un po 'più difficile da usare su Linux e può causare problemi se utilizzato su unità USB anche su Windows. D'altra parte, è molto più affidabile di FAT32, specialmente su dischi di grandi dimensioni.

Dopo questo passaggio, /dev/sda1può essere montato e utilizzato.

Inoltre, non ho mai capito da dove provenisse la parte "/ dev / fd0", ciò significa che la cosa che sto montando è già sul mio sistema nella cartella / dev /?

Sì. Su Linux, è possibile accedere a molti dispositivi tramite file speciali (nodi dispositivo) in / dev / - se un programma legge /dev/fd0, vedrà i dati grezzi memorizzati nel floppy disk (bypassando qualsiasi filesystem); allo stesso modo, può accedere ai contenuti dell'HD attraverso /dev/sda(e partizioni come /dev/sda1), controllare l'orologio del computer /dev/rtc0, i contenuti dello schermo tramite / dev / fb0 , play audio by writing to/ dev / snd / pcmC0D0p`.

I fdisk, partede mkfs.*programmi utilizzano questo per modificare la tabella delle partizioni o per creare nuovi file system.

(Su Windows, anche molti dispositivi hanno nomi simili - ad esempio \\.\Device\Harddisk0\Partition0- ma sono un po 'più separati e non possono essere visti in nessuna cartella.)

Poiché i nodi del dispositivo vengono visualizzati come file, vengono spesso utilizzati come tali, ad esempio /dev/zerovengono utilizzati come una fonte infinita di zero byte, /dev/(u)randomcome fonti di dati casuali e /dev/nullscarta semplicemente tutto ciò che è scritto in esso.


È stato fantastico! Grazie, hai risolto il mio problema molto rapidamente (gParted ha funzionato perfettamente) e penso di poter capire il concetto di montaggio molto meglio ora. Grazie davvero.
ShizukaSM

1
Questa è un'ottima risposta: spiega la tecnica corretta per risolvere il problema, fornendo al contempo il contesto per aiutare a capire perché questa è la soluzione con un tono amichevole e utile. Di prim'ordine, grazie.
Vedom
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.