ハードドライブから起動したDebian ISOにデータを保存できる永続的なライブ起動をしたいと思います。だからdebian-liveをダウンロードしました。(ここ)、リアルタイムシステムで起動できるようにgrubエントリを変更します。
menuentry "Debian modified" {
set iso_path="/live-boot/debian-live.iso"
export iso_path
loopback loop $iso_path
set root=(loop)
set loopback="findiso=${iso_path}"
export loopback
linux /live/vmlinuz-5.10.0-13-amd64 boot=live persistence components keyboard-layouts=de splash verbose "$loopback"
initrd /live/initrd.img-5.10.0-13-amd64
}
ライブシステムで起動できますが、データを保存しようとすると、再起動後にデータが失われます。ここでgrubエントリで私が何か間違っているのでしょうか?
これはあなたにも効果があるかもしれません。df -ha
ライブで実行すると、次の出力が表示されます(関連部分は短縮されます)。
FS Size Used Avail Use Mounted on
/dev/sda1 ... ... ... ... /run/live/persistence/sda1 <= my main partition (also from where the boot is happening)
/dev/loop0 .. ... ... ... /run/live/medium
/dev/loop1 .. ... ... ... /run/live/rootfs/filesystem.squashfs
tmpfs ... ... ... ... /run/live/overlay
overlay ... ... ... ... /
tmpfs ... ... ... ... /usr/lib/live/mount
/dev/loop0 .. ... ... ... /usr/lib/live/mount/medium
/dev/loop1 .. ... ... ... /usr/lib/live/mount/rootfs/filesystem.squashfs
/dev/sda1 .. ... ... ... /usr/lib/live/mount/persistence/sda1
tmpfs ... ... ... ... /usr/lib/live/mount/overlay
ライブブート時に、fstabは次の出力を提供します。
overlay / overlay rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
返品mount | grep overlay
:
tmpfs on run/live/overlay type tmpfs (rw,noatime,mode=755)
overlay on / type overlay (rw,noatime,lowerdir=/run/live/rootfs/filesystem.squashfs/,upperdir=/run/live/overlay/rw,workdir=/run/live/overlay/work)
tmpfs on /usr/lib/live/mount/overlay type tmpfs (rw,noatime,mode=755)
また、永続ストレージをupperdir / workdirとして使用して、永続パーティション(sda1)に直接オーバーレイを手動でマウントしようとしました。
overlay on / type overlay (rw,noatime,lowerdir=/run/live/rootfs/filesystem.squashfs/,upperdir=/run/live/persitence/sda1/rw,workdir=/run/live/persistence/sda1/work
もちろん、永続パーティションにこれらのディレクトリを作成しました;-) ...しかし、まだデータが保持されていないとどうすればいいのかわかりません。
それでは、live-isoにデータを保存し、再起動時に保存されたデータが失われないようにするにはどうすればよいですか?
答え1
元の提案
あなたはそれを使用することができますmkusbu現在、Debian Live ISO ファイルから永続的なライブドライブを作成します。
mkusb-dusを選択し、「dus-persist」を選択します。
この「クラシックmkusb」アプローチは、パーティション化されたテーブルと複数のパーティションを作成します。詳細については、次を参照してください。このリンクそしてそのリンク。
mkusb-plugを選択し、「永久」(またはmkusb-seddの「--pder」)を選択します。
この方法では、sedを使用してisoファイルを「セミ複製」し、
persistent
isoファイルからターゲットデバイスに複製されたエントリに起動オプションを追加します。それに加えて、isoファイルのコピー「背後にある」ドライブの残りの部分は、永続性を提供するファイルシステムとしてフォーマットされています。
それは簡単なはずです。mkusb-dus
グラフィックモードとテキストモードで作業できます。mkusb-plug
グラフィックモードでのみ使用できますが、テキストモードで手動を使用すると、mkusb-sedd
同じ結果が得られます。mkusb-plug
mkusb-sedd
このリンク。
OPと議論後の提案の修正
(コメント中)ディスカッション後にUbuntu Serverがあるドライブに永続的なLubuntuシステムを作成するには、次の方法をお勧めします。 (他のUbuntuバージョンを好むかもしれません。現在のすべての公式Ubuntuデスクトップシステムとコミュニティバージョンはここで動作するはずです。)
解凍してUbuntu Server 22.04 LTSを作成しました。jammy-プレインストール-サーバー-amd64.img.xzSSDに複製してください。 mkusbを使うのはとても便利です。
Ubuntu Serverで起動し、正常に動作していることを確認しました。ユーザー名は「ubuntu」です。その過程で、パスワードも「ubuntu」から別のパスワードに変更しました。サーバーは、フルドライブを使用するようにルートパーティションを自動的に拡張します。
永続性のためにファイルを使用する良い方法は見えません。代わりに、別のドライブから起動し、
gparted
Ubuntu Serverのルートパーティションを縮小し(最後に移動して)、ext4ファイルシステムが作成された未割り当て領域に新しいパーティションを作成することをお勧めします。そしてラベルを貼りますwritable
。ロック記号を見ることができます
/dev/sdc1
。パーティションがマウントされ、縮小する前にマウントを解除する必要があることを示します。次に、Ubuntu Serverから起動し、
Live
ホームディレクトリにディレクトリを作成します。/home/ubuntu/Live
たとえば
lubuntu-22.04-desktop-amd64.iso
、sftp
このディレクトリに移動します。永久リアルタイムシステム用のメニュー項目の作成
sudo nano /etc/grub.d/40_custom
そして以下のようにしてみてください
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. # menuentry "Lubuntu 22.04 ISO" { set isofile="/home/ubuntu/Live/lubuntu-22.04-desktop-amd64.iso" # or set isofile="/<username>/Live/lubuntu-22.04-desktop-amd64.iso" # if you use a single partition for your $HOME rmmod tpm search --set=root --fs-uuid cc633893-7fde-4185-b852-7b886f51ff7f loopback loop ($root)/$isofile linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject persistent initrd (loop)/casper/initrd } set timeout_style=menu set timeout=10
参考にしてください
cc633...
ターゲットデバイスを確実に識別するために、Ubuntu ServerルートパーティションのUUIDを使用してください。このUUIDは次のように見つけることができます。lsblk -o name,size,uuid
特定のシステムと一致するようにこのUUIDを変更する必要があります。
persistent
"標準"ライブLinuxコマンドラインに追加されました。最後の2行は、グルーブメニューを表示する「難しい」方法を提供します。
これらの編集内容は、以下を
/etc/grub.d/40_custom
実行して有効になります。sudo update-grub
次回起動(または再起動)すると、これがわかります。