Come posso accedere correttamente al software RAID 0 di Windows?


12

Sono un nuovo utente di Ubuntu con una nuova installazione e non vedo l'ora di iniziare. Tuttavia, tutti i miei dati importanti si trovano sull'array RAID 0 del software Windows e ne ho bisogno per rimanere lì, poiché sto anche avviando il doppio Windows. Ho bisogno di accedere a questi dati su Ubuntu e non posso davvero fare nulla di reale fino a quando non ho accesso.

Ho già studiato questo argomento nel miglior modo possibile e sono riuscito a trovare un post molto utile:

Il post descrive come ottenere Ubuntu per vedere un array RAID 0 di Windows composto da due unità. Il comando principale utilizzato è sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. Secondo quell'utente e gli altri poster nel thread, in realtà funziona. È fantastico.

Non ho ancora provato a seguire queste istruzioni. Perché? Il post include un avviso su come non devi scrivergli se inserisci una dimensione di blocco errata; è comprensibile come ciò possa causare problemi. La mia preoccupazione è che il mio setup sia diverso dal loro esempio e non sono sicuro che i comandi debbano essere inseriti esattamente allo stesso modo per il mio setup. Ho paura di romperlo facendo qualcosa di sbagliato, e quindi desidero ottenere il consiglio di qualcuno più esperto.

Ecco come la mia installazione differisce dal loro esempio:

  1. Ho tre unità da 1 TB, non due unità (di qualsiasi dimensione abbiano usato).
  2. Ho due partizioni RAID 0 distribuite su queste tre unità: una da 500 GB e 2,3 TB. Ciò significa che non è necessario utilizzare i dischi completi durante la creazione dell'array RAID, ma utilizzare solo una parte di essi.
  3. Ho usato una dimensione di blocco non predefinita per almeno una delle mie partizioni RAID 0 quando le ho impostate anni fa. Non ho idea se questa dimensione del blocco è uguale alla dimensione del blocco che menzionano. La mia partizione da 500 GB ha una dimensione di blocco di 4 kb (4096 byte per cluster) e la mia partizione da 2,3 TB ha una dimensione di blocco di 64 kb (65536 byte per cluster).

L'output rilevante da sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL(solo per queste tre unità RAID0) è:

NAME   FSTYPE   SIZE MOUNTPOINT            LABEL
sdb           931.5G            
├─sdb1            1M            
├─sdb2          127M            
└─sdb3        931.4G            
sdc           931.5G            
├─sdc1            1M            
├─sdc2          127M            
└─sdc3        931.4G            
sdd           931.5G            
├─sdd1        166.7G            
└─sdd2        764.7G 

L'output rilevante da cat /proc/partitions(solo per queste tre unità RAID0) è:

8       16  976762584 sdb
8       17       1024 sdb1
8       18     130048 sdb2
8       19  976631478 sdb3
8       32  976762584 sdc
8       33       1024 sdc1
8       34     130048 sdc2
8       35  976631478 sdc3
8       48  976762584 sdd
8       49  174763008 sdd1
8       50  801865728 sdd2

Il programma "Dischi" in Ubuntu mostra le seguenti partizioni per i miei dischi:

/dev/sdb:   GUID Partition Table .
/dev/sdb1:  1.0 MB, Microsoft LDM metadata.
/dev/sdb2:  133 MB, Microsoft Reserved.
/dev/sdb3:  1.0 TB, Microsoft LDM data.
/dev/sdc:   GUID Partition Table partitioning.
/dev/sdc1:  1.0 MB, Microsoft LDM metadata.
/dev/sdc2:  133 MB, Microsoft Reserved.
/dev/sdc3:  1.0 TB, Microsoft LDM data.
/dev/sdd:   Master Boot Record partitioning.
/dev/sdd1:  179 GB, Unknown.
/dev/sdd2:  821 GB, Unknown.
/dev/sdd:   136 MB, Unallocated space.

Spero di aver fornito abbastanza informazioni qui. Quindi ora la mia domanda è questa: qual è il comando corretto per entrare con la mia configurazione, in modo da poter accedere ad entrambe le mie partizioni RAID 0 di Windows da Ubuntu?

Grazie mille in anticipo.

Risposte:


16

Finalmente ho funzionato grazie a questo post Stack Overflow: ripristino di Windows Spanned Disks (LDM) con Linux?

È stato estremamente difficile scoprire queste informazioni sfuggenti. Ci sono voluti giorni di ricerche e immagino di non averlo trovato perché il post non fa menzione di RAID, quindi non è arrivato nei miei risultati di ricerca. Funziona sicuramente per il mio software Windows RAID 0, però.

La soluzione:

La soluzione è in realtà abbastanza semplice. C'è uno strumento meraviglioso costruito appositamente per questo scopo, chiamato ldmtool. È in grado di leggere e lavorare con dischi dinamici di Windows che utilizzano LDM (Logical Disk Manager). Non è installato di default, ma è incluso nei repository Ubuntu. Tutto quello che dovevo fare era eseguire due comandi:

sudo apt-get install ldmtool
sudo ldmtool create all

Il primo comando viene installato ldmtoole il secondo consente di creare automagicamente i mapping dei dispositivi per tutti i dischi dinamici di Windows collegati. Queste mappature si trovano in /dev/mapper/e possono essere montate manualmente con mount -t ntfs /dev/mapper/mapfilename, ma non ho avuto bisogno di farlo - Ubuntu le ha montate automaticamente per me dopo aver eseguito i due comandi precedenti. Questo è tutto ciò che dovevo fare e potevo accedervi immediatamente dal browser dei file!

Il post collegato include un suggerimento per farlo automaticamente ad ogni avvio. Basta aprire il file /etc/init/mountall.confe aggiungere la riga [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || trueimmediatamente prima della exec mountall ...riga vicino alla fine del file.

Il merito completo di questa soluzione va a Christian Hudon, il ragazzo che l'ha pubblicato come risposta su Stack Overflow. Grazie!

Per aggiungere ulteriori informazioni a questo, ho usato alcuni altri ldmtoolcomandi per richiedere informazioni ai miei volumi:

sudo ldmtool scan /dev/sdd
[
  "e856a65f-e558-11e1-ae19-bc5ff435f790"
]

sudo ldmtool show diskgroup e856a65f-e558-11e1-ae19-bc5ff435f790
{
  "name" : "Dan-PC-Dg0",
  "guid" : "e856a65f-e558-11e1-ae19-bc5ff435f790",
  "volumes" : [
    "Volume1",
    "Volume2"
  ],
  "disks" : [
    "Disk1",
    "Disk2",
    "Disk3"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume1
{
  "name" : "Volume1",
  "type" : "striped",
  "size" : 1048578048,
  "chunk-size" : 128,
  "hint" : "D:",
  "partitions" : [
    "Disk1-01",
    "Disk2-01",
    "Disk3-01"
  ]
}

sudo ldmtool show volume e856a65f-e558-11e1-ae19-bc5ff435f790 Volume2
{
  "name" : "Volume2",
  "type" : "striped",
  "size" : 4811194368,
  "chunk-size" : 128,
  "hint" : "E:",
  "partitions" : [
    "Disk1-02",
    "Disk2-02",
    "Disk3-02"
  ]
}

Non è necessario eseguire i comandi precedenti, così come ldmtool create alltutto il lavoro necessario per creare i mapping. Li ho appena inclusi perché ho già incluso informazioni sulla mia configurazione nella domanda, quindi queste informazioni potrebbero essere utili per chiunque si imbatte in questo post in seguito. In particolare, possiamo vedere che, secondo ldmtoolme, entrambi i miei volumi dinamici usano una dimensione di blocco di 128, nonostante siano stati creati con blocchi di dimensioni diverse in Windows. Immagino che questo significhi che dimensione del blocco e dimensione del blocco non sono sinonimi. I comandi ldmtool show diske ldmtool show partitionpossono essere utilizzati per visualizzare ulteriori informazioni.


Soluzione di 5 anni ancora funzionante in Ubuntu 18. Grazie.
Cris

2

Ubuntu 14.04 LTS mount raid 1 creato da Windows 7 utilizzando ldmtool da un newby. ** **

Ho avuto lo stesso problema. Usando la risposta sopra ho avuto fortuna e l'ho montato

gksu gedit /etc/init/mountall.conf 

cambiando la linea

 [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || true

per

/bin/ldmtool create all >/dev/null || true

quindi aggiunto

/bin/mount /dev/mapper/ldm_vol_NAME-Dg0_volume1 /media/WHEREVER

Il mio mountall.conf è simile a questo ora

     **fi
/usr/bin/ldmtool create all >/dev/null || true
/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m
    exec mountall --daemon $force_fsck $fsck_fix $debug_arg
end script**

in precedenza avevo uno script per fare lo stesso con le 2 righe

/usr/bin/ldmtool create all >/dev/null || true

/bin/mount -o rw /dev/mapper/ldm_vol_OCTO-CORE-Dg0_Volume1 /media/m

e aggiunse

sh /home/ron/mirror to the end of /etc/rc.local 

ora è montato all'avvio di Ubuntu

Non so che questo funzionerà per te!


2

Le altre risposte hanno funzionato solo parzialmente in Mint 18.3.

Il montaggio automatico delle unità Raid0 è stato un po 'più impegnativo poiché la modifica /etc/init/mountall.confnon ha mai funzionato nel mio sistema e volevo essere in grado di montare il volume con spanning usando una definizione in /etc/fstabe non usare uno script in /etc/rc.local.

Quindi ecco cosa ho fatto:

sudo apt-get install ldmtool

Controllato che il volume è stato riconosciuto e potrebbe essere montato correttamente con:

sudo ldmtool create all

Sapendo che il mio sistema poteva vedere e scrivere nelle unità. Ho creato un servizio (seguendo le indicazioni da questo sito :( https://wiki.archlinux.org/index.php/Dynamic_Disks )

creato un file etc/systemd/system/chiamato ldmtool.servicecon la descrizione del servizio:

[Unit]
Description=Windows Dynamic Disk Mount
Before=local-fs-pre.target
DefaultDependencies=no
[Service]
Type=simple
User=root
ExecStart=/usr/bin/ldmtool create all
[Install]
WantedBy=local-fs-pre.target

Per abilitare il servizio all'avvio:

sudo systemctl is-enabled ldmtool

Per trovare l'UUID del volume utilizzato:

sudo blkid

Che mi ha dato le seguenti informazioni: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

Quindi ho creato una riga /etc/fstabche dice:

UUID=0A281FC6281FAFA5 /media/6TB_Raid ntfs-3g  auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8  0  0

Il volume è lì ogni volta che avvio.

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.