耐久性に優れたDebian Live HDD

耐久性に優れたDebian Live HDD

ハードドライブから起動した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ファイルを「セミ複製」し、persistentisoファイルからターゲットデバイスに複製されたエントリに起動オプションを追加します。それに加えて、isoファイルのコピー「背後にある」ドライブの残りの部分は、永続性を提供するファイルシステムとしてフォーマットされています。

それは簡単なはずです。mkusb-dusグラフィックモードとテキストモードで作業できます。mkusb-plugグラフィックモードでのみ使用できますが、テキストモードで手動を使用すると、mkusb-sedd同じ結果が得られます。mkusb-plugmkusb-seddこのリンク

OPと議​​論後の提案の修正

(コメント中)ディスカッション後にUbuntu Serverがあるドライブに永続的なLubuntuシステムを作成するには、次の方法をお勧めします。 (他のUbuntuバージョンを好むかもしれません。現在のすべての公式Ubuntuデスクトップシステムとコミュニティバージョンはここで動作するはずです。)

  • 解凍してUbuntu Server 22.04 LTSを作成しました。jammy-プレインストール-サーバー-amd64.img.xzSSDに複製してください。 mkusbを使うのはとても便利です。

  • Ubuntu Serverで起動し、正常に動作していることを確認しました。ユーザー名は「ubuntu」です。その過程で、パスワードも「ubuntu」から別のパスワードに変更しました。サーバーは、フルドライブを使用するようにルートパーティションを自動的に拡張します。

  • 永続性のためにファイルを使用する良い方法は見えません。代わりに、別のドライブから起動し、gpartedUbuntu Serverのルートパーティションを縮小し(最後に移動して)、ext4ファイルシステムが作成された未割り当て領域に新しいパーティションを作成することをお勧めします。そしてラベルを貼りますwritable

    ここに画像の説明を入力してください。

    ロック記号を見ることができます/dev/sdc1。パーティションがマウントされ、縮小する前にマウントを解除する必要があることを示します。

  • 次に、Ubuntu Serverから起動し、Liveホームディレクトリにディレクトリを作成します。/home/ubuntu/Live

  • たとえばlubuntu-22.04-desktop-amd64.isosftpこのディレクトリに移動します。

  • 永久リアルタイムシステム用のメニュー項目の作成

    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
    

    次回起動(または再起動)すると、これがわかります。

関連情報