종료하지 않고 컴퓨터에서 실행 중인 시스템의 지속적이고 부팅 가능한 USB를 생성하는 방법.
키는 컴퓨터에 있는 키와 동일하며 다른 하드웨어에서와 마찬가지로 사용하고 설치하는 방법을 제공합니다.
. 루트 권한에는 문제가 없습니다
Unix 및 Linux 채팅방에서 인용
단순화를 위해 활성 백업을 생성하고 싶습니다... 예를 들어 컴퓨터에서 실행하고 떠나야 합니다... 로드 명령에 대한 키를 삽입한 다음 다른 위치에 키를 삽입하면 모든 것이 유지됩니다. 집에서처럼 작동하므로 단순한 백업이나 라이브 USB가 아니라 시스템의 영구 보존이 가능합니다.
답변1
나는 dd가 계속 진행하는 좋은 방법이라고 생각합니다.
또한 이 솔루션은 /dev/sd*가 하나만 있는 경우에만 즉시 작동합니다.
예를 들어 USB를 제외한 모든 /dev/sd*를 나열한 다음 USB 드라이브에 필요한 만큼의 파티션을 만들고(fdisk -n) 각 /dev/sd* 개수에 대해 dd를 사용하는 것이 좋습니다.
링크에서:
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
이제 USB 드라이브를 부팅 가능하게 만드십시오. 여전히 /mnt/sda1에 설치되어 있어야 합니다. 먼저 /mnt/sda1/boot/grub/device.map 파일에서 hd(0)를 /dev/sda로 설정하고 /mnt/sda1/boot/grub/menu.lst에서 각 부팅에 대해 올바르게 구성합니다. 커널 부팅 설정 옵션은 다음과 같습니다.
제목 Debian GNU/Linux, 커널 2.6.18-6-486 루트 (hd0,0) 커널 /boot/vmlinuz-2.6.18-6-486 root=/dev/sda1 ro vga=792 initrd /boot/initrd.img -2.6.18-6-486 기본값 저장
마지막으로 USB 디스크에 grub을 설치합니다.
bash# grub-install --root-director=/mnt/sda1 /dev/sda
모두 완료되었습니다! 이제 플래시 드라이브로 재부팅할 수 있습니다.
답변2
- USB 스틱(cfdisk)에 동일한 파티션 세트를 생성합니다.
cfdisk
디스크/파티션은 다음을 사용하여 쉽게 식별할 수 있습니다.cat /proc/partitions
- 동일한 파일 시스템(mkfs.ext...)으로 포맷하세요.
- 마운트하세요(예: /dev/sdXY /mnt/sdXY 마운트).
- 각 파티션의 파일을 해당 파티션(예:
cp -a /bin /boot /dev /etc /home /mnt /root /sbin /usr /var /mnt/new
) 에 복사합니다. cd /new mkdir proc chmod 555 proc mkdir tmp chmod 777 tmp
- 이에 따라 USB에서 fstab을 편집하십시오.
- USB 플래시 드라이브에 Grub 설치
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
답변3
적어도 컴퓨터 디스크만큼 큰 USB 하드 드라이브가 필요합니다. 사용중인 크기뿐만 아니라 전체 크기입니다.
/dev/
기본 하드 드라이브와 USB에 어떤 장치를 사용할지 결정해야 합니다 .대개 /dev/sda
메인 디스크이자 /dev/sdb
첫 번째 주변 장치가 될 것입니다.
dd
이와 관련된 위험이 있지만 라이브 파일 시스템에서 사용할 수 있습니다 (설치 중 dd를 사용하여 디스크 복제 - 위험이 있나요?). 또는 를 사용하면 더 cat
안전할 수 있습니다(dd는 언제 데이터 복사에 적합합니까? (또는 read() 및 write()가 부분적인 경우)).
기본 장치가 /dev/sda
USB 장치라고 가정하면 /dev/sdb
다음 중 하나를 사용할 수 있습니다.
dd if=/dev/sda of=/dev/sdb bs=64k conv=noerror,sync
cat </dev/sda >/dev/sdb
dd
noerror
오류가 발생 해도 계속 진행되며, sync
내용이 이동하지 않도록 부분 쓰기를 0으로 채웁니다. 이 두 가지 사항 dd
이 이미지에 문제가 있음을 나타내므로 중지하려는 이유 일 수 있습니다 dd
.
USB 이미지를 다른 하드 드라이브에 설치하려면 하드 드라이브를 부팅하고 동일한 명령을 실행하면 됩니다. 이 경우 부팅된 드라이브를 sda
.