実行中のシステムの永続USBキーをどのように生成しますか?

実行中のシステムの永続USBキーをどのように生成しますか?

シャットダウンせずにコンピュータで実行されているシステムの持続的で起動可能なUSBを作成する方法。

キーはコンピュータ上のキーと同じで、他のハードウェアと同様に使用してインストールする方法を提供します。

。 root権限に問題はありません

UnixとLinuxのチャットルームで引用

単純化のためにアクティブなバックアップを作成したいと思います...たとえば、コンピュータで実行して残す必要があります...ロードコマンドのキーを挿入してから別の場所にキーを挿入すると、すべてが保持されます。自宅のように動作するので、単純なバックアップやライブUSBではなく、システムの永久保存が可能です。

答え1

私はddが続行する良い方法だと思います。

また、このソリューションは/dev/sd*が1つしかない場合にのみすぐに機能します。

たとえば、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

  1. USBスティック(cfdisk)に同じパーティションセットを作成します。cfdiskディスク/パーティションは、以下を使用して簡単に識別できます。cat /proc/partitions
  2. 同じファイルシステム(mkfs.ext...)でフォーマットしてください。
  3. マウントしてください(例:/dev/sdXY /mnt/sdXY マウント)。
  4. 各パーティションのファイルをそのパーティション(たとえば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. これに応じて、USBでfstabを編集します。
  7. 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/sdaUSBデバイスであると仮定すると、/dev/sdb次のいずれかを使用できます。

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

cat </dev/sda >/dev/sdb

ddnoerrorエラーが発生しても続行し、sync内容が移動しないように部分書き込みをゼロで埋めます。これら2つの問題はdd画像に問題があることを示しているため、停止したい理由かもしれませんdd


USBイメージを別のハードドライブにインストールするには、ハードドライブを起動して同じコマンドを実行します。この場合、起動したドライブをsda

関連情報