Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Ubuntu Server 19.10がUSBにつないだSSDから使っても安定動作するようになったので
- SDカード経由でSSDブートする方法を改めて書いておきます
- (NOOBSは使わない場合です)
- 1.SSDにパーティションを作成する
- (Raspbian用のパーティションとUbuntu用のパーティションを別に作ると
- SDカードの内容をコピーするだけでRaspbianとUbuntuを切り替えられます)
- fdiskでSSDに適当なパーティションを作ってください
- SSDのデバイス名は/dev/sdaになると思います
- 私の場合は PartitionType
- /dev/sda1 → Id c W95FAT32 (LBA)
- /dev/sda2 → Id 5 Extended
- /dev/sda5 → Id 82 Linux swap / Solaris
- /dev/sda6 → Id c W95FAT32 (LBA) Raspbianの/bootにマウントするパーティション
- /dev/sda7 → Id c W95FAT32 (LBA) Ubuntuの/boot/firmwareにマウントするパーティション
- /dev/sda8 → Id 83 Linux Raspbianのルートパーティション
- /dev/sda9 → Id 83 Linux Ubuntuのルートパーティション
- /dev/sda10 → ID 83 Linux 共用のパーティション
- 2.作成したパーティションをフォーマットする
- (/dev/sda7はUbuntuの/boot/firmwareにマウントするパーティション、
- /dev/sda9はUbuntuのルートパーティションにマウントするパーティションです
- 適宜読み替えてください)
- $ sudo mkfs -t vfat /dev/sda7
- $ sudo mkfs -t ext4 /dev/sda9
- 3./dev/mmcblk0p2のパーティションの内容をSSDのパーティションにコピー
- (/dev/sda9はUbuntuのルートパーティションにマウントするパーティションです
- 適宜読み替えてください)
- mkdir /tmp/usd /tmp/ssd
- sudo mount /dev/mmcblk0p2 /tmp/usd
- sudo mount /dev/sda9 /tmp/ssd
- (cd /tmp/usd; sudo tar --backup -c *)|sudo tar -C /tmp/ssd -xv
- 4.btcmd.txtを変更
- (ここでbbc81aaf-09はUbuntuのルートパーティションにマウントするパーティションです
- 適宜読み替えてください
- $ ls -l /dev/disk/by-partuuid
- で確認できます)
- 変更前
- net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait
- 変更後
- net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=bbc81aaf-09 rootfstype=ext4 elevator=deadline rootwait
- 5.nobtcmd.txtを変更
- 変更前
- net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait
- 変更後
- net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=bbc81aaf-09 rootfstype=ext4 elevator=deadline rootwait
- 6./dev/mmcblk0p1のパーティションの内容を
- Ubuntuの/boot/firmwareにマウントするパーティションにコピー
- (/dev/sda7はUbuntuの/boot/firmwareにマウントするパーティションです
- 適宜読み替えてください)
- mkdir /tmp/usd2 /tmp/ssd2
- sudo mount /dev/mmcblk0p1 /tmp/usd2
- sudo mount /dev/sda7 /tmp/ssd2
- sudo cp -r /tmp/usd2/* /tmp/ssd2
- 7.SSDのubuntuのfstabを変更してルートパーティションをSSDのパーティションに変更する
- (/dev/sda9はSSDのUbuntuのルートにマウントするパーティションです
- 自分の環境に合わせて適宜変更してください
- $ sudo mount /dev/sda9 /tmp/ssd
- (先ほどのUbuntuのルートの/dev/mmcblk0p2をSSDへのコピーでマウントしたままの人はそのままでいいです)
- $ sudo vi /tmp/ssd/etc/fstab
- これを#でコメントアウトして
- LABEL=writable / ext4 defaults 0 0
- 以下の内容に変更する
- (bbc81aaf-09はSSDのUbuntuのルートパーティション
- 自分の環境にあわせて適宜変えてください)
- PARTUUID=bbc81aaf-09 / ext4 defaults 0 0
- 8.再起動する
- $ sudo reboot
- 9.RaspbianとUbuntuをSDカードの内容を書き換えてbootを切り替える場合は
- SSDブートのUbuntu側で/etc/fstabの/boot/firmwareにマウントするパーティションを
- Ubuntuの/boot/firmwareにマウントするパーティションに変更してください
- $ sudo vi /etc/fstab
- これを#でコメントアウトして
- LABEL=system-boot /boot/firmware vfat defaults 0 1
- 以下の内容に変更する
- (PARTUUID=bbc81aaf-07はUbuntuの/boot/firmwareにマウントするパーティション
- 自分の環境にあわせて適宜変えてください)
- PARTUUID=bbc81aaf-07 /boot/firmware vfat defaults 0 1
- 変更したら
- $ sudo umount /boot/firmware
- $ sudo mount -a
- を実行してエラーがでないことを確認する
- エラーが出たら編集しなおしてエラーがなくなるまでやってください
- SSDにRaspbian用のSDカードの第一パーティションをSSDのどこかのパーティションに
- コピーしてある場合、RaspbianとUbuntuをSDカードの入れ替えなしで切り替えることができます
- 私の場合、
- /dev/sda6にSSDのRaspbianの/bootにマウントするパーティション
- /dev/sda7にSSDのUbuntuの/boot/firmwareにマウントするパーティション
- としてパーティションを確保して
- ここにRaspbian、UbuntuのSDカードの第一パーティションの内容をコピーしておき、
- Raspbianの/bootに/dev/sda6をマウント
- Ubuntuの/boot/firmwareに/dev/sda7をマウントしてます
- SSDにインストールしたRaspbianからSSDにインストールしたUbuntuに切り替える方法は
- Raspbianから
- /dev/mmcblk0p1の内容を消して
- Ubuntuの/boot/firmwareにマウントするパーティションの内容を
- SDカードの/dev/mmcblk0p1に書き込むだけです
- UbuntuからRaspbianに切り替える場合は
- /dev/mmcblk0p1の内容を消して
- UbuntuからRaspbianの/bootにマウントするパーティションの内容を
- SDカードの/dev/mmcblk0p1に書き込むだけです
- この方法だと、OSを切り替える場合以外にも、
- 起動してるOSのカーネルやファームウエアの更新があった場合には
- SDカードの第一パーティションを更新する必要があります
- ようするにSDカードの第一パーティションの内容を書き換えるだけで
- 起動するOSを選択できるので
- SSDから起動するために使うSDカードは容量の少ないSDカードでも十分です
- また、SSDのRaspbian用、SSDのUbuntu用の第一パーティションのファイルを
- 別のSDカードにバックアップしておけば
- もし、SDカードの第一パーティションの書き換えを間違えてしまっても
- バックアップ用のSDカードに差し替えれば起動するので
- 定期的に別のSDカードにバックアップすることをオススメします
- バックアップ用のSDカードは容量が小さいもので十分です
- 方法がよくわからない人は危険なのでSDカードを入れ替える方法でやってください
- その方が安全です
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement