Voudrais
dd if=/dev/zero of=somepartition bs=512
effacer également les partitions après somepartitionou arrêter à la fin de somepartition?
Voudrais
dd if=/dev/zero of=somepartition bs=512
effacer également les partitions après somepartitionou arrêter à la fin de somepartition?
Réponses:
ddddest un outil très puissant mais aussi dangereux. Il fait ce que vous lui demandez de faire sans poser de questions. Donc, si vous lui dites d'effacer les photos de famille, ... et c'est une erreur de frappe mineure.
Mais si vous vérifiez et revérifiez, vous pouvez l'utiliser.
dd if=/dev/zero of=somepartition bs=512
ou je suggérerais
dd if=/dev/zero of=/dev/sdxn bs=4096
où xest la lettre de lecteur et nle numéro de partition et la taille de bloc 4096 octets accélère le processus d'écriture.
Dans ce cas, il est important que vous écriviez sur une partition . Si vous écrivez sur le lecteur entier (la tête de lecteur), /dev/sdxle lecteur entier sera écrasé. Mais l'écriture sur la partition sera interrompue à la fin de la partition et les partitions derrière elle seront conservées. (J'ai testé maintenant sur une clé USB dans Lubuntu 16.04 LTS, donc je sais que cela fonctionne comme ça.)
Il existe une exception pour une partition étendue (qui est un conteneur pour les partitions logiques, afin d'avoir plus de quatre partitions dans une table de partition MSDOS). Ceci est décrit dans le lien suivant,
Puis-je créer une image de partition «étendue» en utilisant dd?
Mais il y a aussi un autre problème. J'ai testé votre commande dans un environnement de test, et j'ai lu un seul kibioctet (1024 octets) quand je voulais qu'il fasse une image d'une partition étendue.
J'ai également testé cela maintenant sur une clé USB dans Lubuntu 16.04 LTS, et cela s'applique à l'écriture (ainsi qu'à la lecture). Seul le premier kibibyte est écrasé.
Pour résumer, l'écrasement des partitions principales et des partitions logiques fonctionne selon la description principale de cette réponse. Mais n'utilisez pas cette méthode pour écraser une partition étendue car seul le premier kibioctet sera écrasé. Les partitions logiques de la partition étendue ne seront plus trouvées via la table de partition, mais les données qui y sont stockées sont toujours là.
ddet qu'il soit risqué, afin d'être très prudent lors de son utilisation. Bonne chance :-) En général, vous devriez toujours avoir une sauvegarde de tous les fichiers que vous ne pouvez pas vous permettre de perdre.
Les écritures sur un périphérique de partition n'écriront pas en dehors de cette partition, avec dd ou autre chose. Vous auriez besoin d'utiliser un périphérique à disque complet pour avoir un effet en dehors d'une seule partition.
(Avertissement: sauf si votre disque a une table de partition avec des partitions qui se chevauchent, ce qui ne devrait jamais arriver.)
Je pense que votre question est basée sur un malentendu fondamental sur le fonctionnement dd(et en fait les systèmes d'exploitation de type Unix en général):
ddne peut pas écraser les partitions adjacentes, tout simplement parce que ddne peut pas écraser les partitions, point .
ddécrit simplement dans des fichiers . C'est ça.
Maintenant, si vous passez ddun fichier qui représente plusieurs partitions, puis ddécrasera ce fichier . Mais dans ce cas, il n'écrit pas ddaprès la fin de la partition. ddécrira toujours jusqu'à la fin du fichier, et seulement jusqu'à la fin du fichier.
Mais, si vous passez ddun fichier qui ne représente qu'une seule partition, alors ddil n'écrira pas après la fin de cette partition. Encore une fois, cela n'a rien à voir avec dd. ddécrit simplement dans le fichier sur lequel vous lui demandez d'écrire. Le fait que ce fichier représente une seule partition est (dans ce cas) assuré par le pilote de périphérique de bloc dans le noyau. ddn'a rien à voir avec ça.
Donc, en bref: ddécrit dans des fichiers. Ce que ces fichiers représentent, cela ne nous ddinquiète pas. ddne sait rien des partitions.
ddpour écrire sur des partitions brutes. Vous ne pouvez écrire que dans des fichiers. Vous pouvez bien sûr écrire dans un fichier de périphérique de bloc qui représente une partition (telle que /dev/sda1), mais vous ne pouvez pas écrire sur une partition brute. Et comme vous ne pouvez écrire que dans un fichier qui représente une partition, vous ne pouvez pas écrire au-delà de la fin de la partition, car le fichier ne représente que la partition, et non la partition et un peu après la fin.
/dev/sdadans votre éditeur de texte et modifier les données, ddn'est pas différent de tout autre programme en termes d'accès aux partitions. Très bonne réponse!
Il existe un scénario spécial dangereux, mais rare, dans lequel cela peut se produire même avec des pilotes de périphérique de bloc non buggés:
Vous devez être prudent avec dd car si vous faites une erreur, vous pouvez écraser plus que ce que vous aviez négocié et cela dépend de ce que vous utilisez pour dd (l'OP était vague dans son utilisation de dd et la syntaxe exacte du dd commander).
Si vous spécifiez une partition, il écrit sur cette partition jusqu'à ce que la partition soit pleine.
Si vous faites une erreur et placez le lecteur entier, par exemple de = / dev / sda, dd écrira sur le disque entier pour commencer à ignorer (et écraser) votre table de partition.
Vous pouvez également utiliser dd sur une partition pour écraser les fichiers supprimés (les fichiers supprimés peuvent rester sur la partition et découverts par divers outils de récupération avec différents degrés de succès jusqu'à ce qu'ils soient écrasés. Dans ce cas, vous pouvez utiliser dd pour remplir l'espace libre en écrire dans un fichier.
dd if=/dev/zero of=/path/to/mount_point/zero_file bs=4096
rm -f /path/to/mount_point/zero_file
Selon ce que vous faites, cependant, vous souhaiterez peut-être utiliser un autre outil pour supprimer les fichiers en toute sécurité. Voir Comment supprimer des fichiers de manière sécurisée? pour les options.
ddn'est pas si bas. En fait, la plupart des choses que les gens utilisent ddauraient pu être faites de la même façon cat. En fait, il catest légèrement plus rapide car il utilise des blocs plus gros que ceux ddpar défaut. Tout le code de bas niveau est dans le noyau. Et le conducteur ne se soucie pas vraiment si vous utilisez ddou cat.
dd if=/dev/zero of=/dev/sda bs=512 count=1ou dd if=/dev/zero of=/dev/sda bs=512sont des exemples. Avec la deuxième commande, il continuera d'écrire et remplira le disque entier en "ignorant" la table de partition. Si vous spécifiez une partition, dd if=/dev/zero of=/dev/sda1elle ne dépassera pas la partition. Cela dépend de ce que vous voulez faire avec dd.
of=somepartition, donc le cas où vous écrivez sur le périphérique de disque entier ne s'applique pas. ddne peut pas contourner les restrictions du pilote de périphérique.
/dev/sda1, sont créés par le noyau de telle manière qu'il est impossible d'accéder au stockage adjacent à travers eux (en supposant que la table de partition n'a pas été modifiée après la dernière lecture du noyau par le noyau). Si vous pouviez accéder au stockage adjacent de cette manière, cela serait considéré comme un énorme bug.