Comment accéder correctement au RAID 0 du logiciel Windows?

12

Je suis un nouvel utilisateur d'Ubuntu avec une nouvelle installation et j'ai hâte de commencer. Cependant, toutes mes données importantes se trouvent sur la matrice RAID 0 du logiciel Windows, et j'en ai besoin pour y rester car je suis également à double démarrage de Windows. J'ai besoin d'accéder à ces données sur Ubuntu et je ne peux vraiment rien faire de réel avant d'y avoir accès.

J'ai déjà fait des recherches sur ce sujet du mieux que j'ai pu et j'ai réussi à trouver un article très utile:

Le message décrit comment obtenir Ubuntu pour voir une matrice Windows RAID 0 composée de deux disques. La commande principale utilisée est sudo mdadm --build /dev/md0 --chunk=64 --level=0 --raid-devices=2 /dev/sdd2 /dev/sdc2. Selon cet utilisateur et les autres affiches du fil, cela fonctionne réellement. C'est génial.

Je n'ai pas encore essayé de suivre ces instructions. Pourquoi? Le message comprend un avertissement sur la façon dont vous ne devez pas y écrire si vous entrez la mauvaise taille de bloc; il est compréhensible que cela puisse causer des problèmes. Ma préoccupation est que ma configuration est différente de leur exemple, et je ne suis pas sûr que les commandes doivent être saisies exactement de la même manière pour ma configuration. J'ai peur de le casser en le faisant mal et souhaite donc obtenir les conseils de quelqu'un de plus expérimenté.

Voici comment ma configuration diffère de leur exemple:

  1. J'ai trois disques de 1 To, pas deux disques (quelle que soit la taille utilisée).
  2. J'ai deux partitions RAID 0 réparties sur ces trois disques: un de 500 Go et 2,3 To. Cela signifie que je n'ai PAS besoin d'utiliser les disques complets lors de la création de la matrice RAID, mais plutôt d'en utiliser seulement une partie.
  3. J'ai utilisé une taille de bloc non par défaut pour au moins une de mes partitions RAID 0 lorsque je les ai configurées il y a des années. Je n'ai aucune idée si cette taille de bloc est la même que la taille de bloc mentionnée. Ma partition de 500 Go a une taille de bloc de 4 ko (4096 octets par cluster), et ma partition de 2,3 To a une taille de bloc de 64 ko (65536 octets par cluster).

La sortie pertinente de sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL(pour ces trois disques RAID0 uniquement) est:

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 

La sortie pertinente de cat /proc/partitions(pour ces trois disques RAID0 uniquement) est:

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

Le programme "Disks" dans Ubuntu affiche les partitions suivantes pour mes disques:

/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.

J'espère avoir fourni suffisamment d'informations ici. Alors maintenant, ma question est la suivante: quelle est la commande appropriée pour moi d'entrer avec ma configuration, afin que je puisse accéder à mes deux partitions Windows RAID 0 depuis Ubuntu?

Merci beaucoup d'avance.

Dan
la source

Réponses:

16

J'ai finalement réussi à le faire grâce à ce post Stack Overflow: Restauration de disques Spanned Windows (LDM) avec Linux?

Il était extrêmement difficile de découvrir ces informations insaisissables. Il a fallu des jours de recherche, et je suppose que je ne l'ai pas trouvé parce que le post ne fait aucune mention de RAID, donc il n'apparaissait pas dans mes résultats de recherche. Cela fonctionne certainement pour mon logiciel Windows RAID 0.

La solution:

La solution est en fait assez simple. Il existe un merveilleux outil spécialement conçu à cet effet, appelé ldmtool. Il est capable de lire et de travailler avec des disques dynamiques Windows qui utilisent LDM (Logical Disk Manager). Il n'est pas installé par défaut, mais est inclus dans les référentiels Ubuntu. Tout ce que j'avais à faire était d'exécuter deux commandes:

sudo apt-get install ldmtool
sudo ldmtool create all

La première commande s'installe ldmtoolet la seconde lui permet de créer automatiquement des mappages de périphériques pour tous les disques dynamiques Windows connectés. Ces mappages sont situés dans /dev/mapper/et peuvent être montés manuellement avec mount -t ntfs /dev/mapper/mapfilename, mais je n'ai pas eu besoin de le faire - Ubuntu les a montés automatiquement pour moi après avoir exécuté les deux commandes ci-dessus. C'est tout ce que j'avais à faire et je pouvais y accéder immédiatement depuis le navigateur de fichiers!

Le message lié inclut une suggestion pour le faire automatiquement à chaque démarrage. Ouvrez simplement le fichier /etc/init/mountall.confet ajoutez la ligne [ -x /usr/bin/ldmtool ] && ldmtool create all >/dev/null || truejuste avant la exec mountall ...ligne vers la fin du fichier.

Le mérite de cette solution revient à Christian Hudon, le gars qui l'a postée comme réponse sur Stack Overflow. Merci!

Pour ajouter des informations supplémentaires à cela, j'ai utilisé d'autres ldmtoolcommandes pour interroger mes volumes:

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"
  ]
}

Il n'est pas nécessaire d'exécuter les commandes ci-dessus, comme le ldmtool create allfait tout le travail nécessaire pour créer les mappages. Je viens de les inclure parce que j'ai déjà inclus des informations sur ma configuration dans la question, donc ces informations pourraient être utiles à toute personne rencontrant ce message plus tard. En particulier, nous pouvons voir que, selon ldmtool, mes deux volumes dynamiques utilisent une taille de bloc de 128, bien qu'ils soient créés avec différentes tailles de bloc dans Windows. Je suppose que cela signifie que la taille des blocs et la taille des morceaux ne sont pas synonymes. Les commandes ldmtool show disket ldmtool show partitionpeuvent être utilisées pour afficher des informations supplémentaires.

Dan
la source
Une solution de 5 ans fonctionne toujours sous Ubuntu 18. Merci.
Cris
2

Ubuntu 14.04 LTS mount raid 1 créé par windows 7 à l'aide ldmtool d'un newby. ** **

J'ai eu le même problème. En utilisant la réponse ci-dessus, j'ai eu de la chance et je l'ai monté avec

gksu gedit /etc/init/mountall.conf 

en changeant de ligne

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

à

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

puis ajouté

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

Mon mountall.conf ressemble à ceci maintenant

     **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**

auparavant j'avais un script pour faire de même avec les 2 lignes

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

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

et ajouté

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

maintenant il est monté quand ubuntu démarre

Je ne sais pas si cela fonctionnera pour vous!

Ron Prickett
la source
2

Les autres réponses n'ont fonctionné que partiellement dans Mint 18.3.

Le montage automatique des disques Raid0 a été un peu plus difficile car l'édition /etc/init/mountall.confn'a jamais fonctionné sur mon système et je voulais pouvoir monter le volume fractionné en utilisant une définition dans /etc/fstab, et ne pas utiliser de script dans /etc/rc.local.

Voici donc ce que j'ai fait:

sudo apt-get install ldmtool

Vérifié que le volume était reconnu et pouvait être monté correctement avec:

sudo ldmtool create all

Sachant que mon système pouvait voir et écrire dans les lecteurs. J'ai créé un service (en suivant les instructions de ce site :( https://wiki.archlinux.org/index.php/Dynamic_Disks )

créé un fichier etc/systemd/system/appelé ldmtool.serviceavec la description du service:

[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

Pour activer le service au démarrage:

sudo systemctl is-enabled ldmtool

Pour trouver l'UUID du volume utilisé:

sudo blkid

Ce qui m'a donné les informations suivantes: /dev/mapper/ldm_vol_XXX-Dg0_Volume1: LABEL="6TB_Raid" UUID="0A281FC6281FAFA5" TYPE="ntfs"

J'ai donc créé une ligne /etc/fstabqui se lit comme suit:

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

Le volume est là à chaque démarrage.

cegaton
la source