[résolu] Copier tout Windows

Le problème : sur un ordinateur futur, équipé comme tous d’un logiciel pirate pour lequel une taxe est exigée (malgré la loi), copier en externe la partie du disque dur où figure ce virus, pour éventuellement le remettre en place ultérieurement, en vue d’une revente de la machine, ou autre nécessité.
Puis cela permet d’installer Linux seul sur tout le disque dur.

Cela nécessite une copie de larges morceaux de la surface du disque dur, « en l’état », et non de fichiers organisés.
Seul le programme ‹ dd › semble convenir, tout est là : http://doc.ubuntu-fr.org/dd
Un autre disque dur est nécessaire, interne ou externe.

Tout commence par un échec dû à l’organisation du disque dur externe, une installation ‹ bootable › de Linux était destinée à l’utilisation sur un ordinateur sous autre système d’exploitation.

Reformaté et désormais muni d’un nom, tout se passe correctement.
Une bonne révision des paramètres de ‹ dd › a aussi été faite, pour bien faire et ne rien casser.
Un ‹ script › a été utilisé, pour éviter de dactylographier de façon intensive d’une part, pour éviter les erreurs d’autre part.

Le script ‹ copier-dd › :
[c]#!/bin/bash

Copier des morceaux de disque dur pour sauvegarde

A - partition ‹ RECOVERY › Vista - Seven

/dev/sda1 cachée, FAT, secteurs 1 … 1530 12,6 Go

dd if=/dev/sda1 of=/media/DD_ext/sauver_recov bs=4096 conv=notrunc,noerror

copié en 444 secondes, 7 minutes 24 secondes

B - Copier ‹ Seven › sur 55 Go :

dd if=/dev/sda2 of=/media/DD_ext/sauver_seven bs=4096 skip=63 conv=notrunc,noerror

181 Go copiés en 6711 secondes ou 112 minutes, près de deux heures.[/c]

J’ai sauvegardé séparément les deux partitions ; il faut démasquer successivement A puis B.
Une sauvegarde du ‹ MBR › est fortement conseillée :
[c]dd if=/dev/sda of=/home/user/MBR.image bs=446 count=1[/c]

À noter que Windows (ici, Vista mis à jour en Seven) croque 12,5 Go pour la partition « RECOVERY » puis 55 Go presque sans programmes installés depuis l’achat.
C’est énormément plus que mon Linux Ubuntu, bien chargé en programmes divers, qui consomme environ 4 Go pour la partie système.

Il aurait suffi de sauver 55 Go pour ‹ /dev/sda2 › qui est ‹ C:\ › ; si quelqu’un peut me dire comment faire, merci d’avance.:slight_smile:

Je ne suis pas bien certain d’avoir compris ce que tu veux faire, mais tu peux essayer d’utiliser rsync pour copier seulement les fichiers - et donc obtenir une sauvegarde bien plus légère, si tu dis avoir plusieurs dizaines de Go d’espace libre “inutile”.

dd if=/dev/sda2 bs=4096 skip=63 conv=notrunc,noerror | gzip /media/DD_ext/sauver_seven

C’est ceci il me semble.

Je souhaite pouvoir copier Windows, tel qu’il est sur le disque, afin de pouvoir le restituer « tel quel », sans avoir à le ‹ réinstaller › avec des disques ou la partition ‹ recovery › :

Doc dd : « Contrairement à la copie avec la commande cp ou la copie avec la commande tar, la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d’un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. » et Windows « tel qu’il est », pour une (éventuelle) restitutio ad integrum --pour cause de revente à un microsoftiste par exemple.
C’est aussi potentiellement un truc Linux sur Windows. Autre(s) usage(s) à trouver ?

NB1 : le « seek=63 » est justifié par l’absence de données utiles entre le MBR et la FAT. Comme cela ne fait que 32 ko, il vaut mieux négliger ce paramètre.
NB2 : la sauvegarde du MBR est indispensable +++, afin de pouvoir le restituer, à faire en dernier, avant le rendre possible le redémarrage sous Windows, ce qui est le but de cette manip.

Fanch,
La compression est une réponse partielle, mais pas la réponse à ma question, je souhaite la limitation à (ici) 55 Go au lieu de l’intégralité de la partition, 180 Go.
(Dans la doc de ‹ dd › cette possibilité est indiquée, mais dans ce premier test je l’ai négligée).

Je n’ai pas précisé comment j’ai obtenu cette valeur de 55 Go : sous Gparted, et après installation de « ntfsprogs » qui permet l’affichage visuel du contenu de la partition Windows. Le clic droit donne accès aux données.

Après une rapide révision de la documentation de ‹ dd ›, il semble qu’en jouant sur les deux paramètres ‹ bs › et ‹ count › je pourrai limiter la taille de la copie (aux 55 Go pertinents)…
À vérifier par un test.

Résultat :

C - Copier ‹ Seven › sur 55 Go :

dd if=/dev/sda2 of=/media/DD_ext/sauver_seven bs=16384 count=3420000 conv=notrunc,noerror

bs x count donne 56 Go

Exécution :
ordi@ordi:~$ sudo ./copier-dd
3420000+0 enregistrements lus
3420000+0 enregistrements écrits
56033280000 octets (56 GB) copiés, 1981,08 s, 28,3 MB/s
ordi@ordi:~$

copier-dd :

#!/bin/bash

A - Sauver le MBR :

#dd if=/dev/sda of=/media/DD_ext/MBR.image bs=446 count=1

B - partition ‹ RECOVERY › Vista - Seven

/dev/sda1 cachée, FAT, secteurs 1 … 1530 12,6 Go

dd if=/dev/sda1 of=/media/DD_ext/sauver_recov bs=4096 conv=notrunc,noerror

copié en 444 secondes, 7 minutes 24 secondes

C - Copier ‹ Seven › sur 55 Go :

dd if=/dev/sda2 of=/media/DD_ext/sauver_seven bs=16384 count=3420000 conv=notrunc,noerror

1980 secondes : 33 minutes

Voilà, réponse obtenue.