Comment créer une key USB persistante d'un système en cours d'exécution?

Comment créer un USB persistante et amorçable d'un système en cours d'exécution sur un ordinateur sans éteindre.

La key serait la même que l'ordinateur et offrirait des moyens de l'utiliser et l'installer comme sur un autre matériel.

. droits root ok

citation de chat Unix & Linux

Pour garder les choses simples, je voudrais créer une sauvegarde vivante … par exemple vous exécutez sur votre machine que vous devez quitter … vous twigz la key que vous chargez la command et puis vous twigz la key sur un autre endroit et avez tout travailler comme à la maison, pas seulement une sauvegarde, pas seulement un usb en direct, mais un persitant de votre système tel quel.

Je pense que dd est la bonne façon de procéder.

Pendant ce time, cette solution ne fonctionne que s'il n'y a qu'un seul / dev / sd *.

Par exemple, je suggérerais de listr tous les / dev / sd * sauf usb un puis faire autant de partition (fdisk -n) comme requirejs sur le lecteur USB et utiliser dd pour chaque / dev / sd * compté.

Du lien:

insert the destination USB flash drive in my workstation delete the existing vfat partition and create a single linux partition using fdisk create a filesystem and synchronize it: bash# mkfs.ext3 /dev/sdb1 bash# sync ; sync remove the usb flash drive from the workstation, put it in the target PC mount the usb drive, move the udev filesystem out of the way, and copy the local filesystem: bash# cd / bash# mkdir /mnt/sda1 bash# mount /dev/sda1 /mnt/sda1 bash# mkdir udev bash# mount --move /dev /udev bash# cp -ax / /mnt/sda1 That copy command might take awhile. When it is done, get rid of the temporary directory /udev bash# mount --move /udev /dev bash# rm -fr /udev 

Maintenant pour rendre le lecteur USB bootable. Il devrait toujours être monté sur / mnt / sda1. Tout d'abord, dans le file /mnt/sda1/boot/grub/device.map, définissez hd (0) sur / dev / sda et dans /mnt/sda1/boot/grub/menu.lst définissez les options de démarrage du kernel correctement pour chaque configuration de démarrage , par exemple:

titre Debian GNU / Linux, kernel 2.6.18-6-486 racine (hd0,0) kernel /boot/vmlinuz-2.6.18-6-486 racine = / dev / sda1 ro vga = 792 initrd /boot/initrd.img -2.6.18-6-486 savedefault

Enfin, installez Grub sur le lecteur flash USB:

bash # grub -install –root-directeur = / mnt / sda1 / dev / sda

Terminé! Maintenant, vous pouvez redémarrer dans le lecteur flash.

  1. Créez le même set de partitions sur la key USB (cfdisk). L'identification des disques / partitions est facile avec cfdisk et cat /proc/partitions
  2. Formatez-les avec les mêmes filesystems (mkfs.ext ….)
  3. Montez-les (par exemple, montez / dev / sdXY / mnt / sdXY)
  4. Copiez les files de chaque partition sur les partitions correspondantes ( cp -a /bin /boot /dev /etc /home /mnt /root /sbin /usr /var /mnt/new )
  5. cd /new mkdir proc chmod 555 proc mkdir tmp chmod 777 tmp
  6. Modifier fstab en USB en conséquence
  7. Installez Grub sur la key USB mount /dev/sdXY /mnt/ #if is not mounted already mount -t proc none /mnt/proc mount -o bind /dev /mnt/dev chroot /mnt/ /bin/bash /usr/sbin/grub-install --recheck --no-floppy /dev/sdXY

Vous aurez besoin d'un disque dur USB au less aussi grand que le disque de votre ordinateur. Pas seulement la taille utilisée, la taille totale.

Vous aurez besoin d'identifier les périphériques dans /dev/ sont pour votre HD principal et pour votre USB. Habituellement /dev/sda sera votre disque principal, et /dev/sdb sera votre premier périphérique.


Vous pouvez utiliser dd sur un système de files en time réel, mais il y a des risques associés ( Utiliser dd pour cloner un disque pendant le assembly – risques? ). Alternativement, vous pouvez utiliser cat , ce qui peut être plus sûr ( Quand dd est-il adapté pour copyr des données?) Ou quand sont read () et write () partial) ).

En supposant que votre périphérique principal est /dev/sda et que votre périphérique USB est /dev/sdb vous pouvez utiliser l'un des éléments suivants:

 dd if=/dev/sda of=/dev/sdb bs=64k conv=noerror,sync cat </dev/sda >/dev/sdb 

Le noerror dd le fait continuer sur des erreurs, et sa sync remplit des écritures partielles avec des zéros afin que les choses ne soient pas décalées. Bien que ces deux choses puissent être des raisons pour lesquelles vous voudriez que le dd s'arrête, ils indiquent des problèmes avec l'image que dd crée.


Si vous souhaitez installer l'image USB sur un autre disque dur, vous pouvez démarrer et exécuter les mêmes commands. Il sera important d'identifier quelle est la key USB et quelle est la HD interne dans ce cas, pas sûr de savoir si elle traitera le disque dont elle démarre en tant que sda .