Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2020
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.17 KB | None | 0 0
  1. Ubuntu Server 19.10がUSBにつないだSSDから使っても安定動作するようになったので
  2. SDカード経由でSSDブートする方法を改めて書いておきます
  3. (NOOBSは使わない場合です)
  4.  
  5. 1.SSDにパーティションを作成する
  6. (Raspbian用のパーティションとUbuntu用のパーティションを別に作ると
  7. SDカードの内容をコピーするだけでRaspbianとUbuntuを切り替えられます)
  8.  
  9. fdiskでSSDに適当なパーティションを作ってください
  10. SSDのデバイス名は/dev/sdaになると思います
  11. 私の場合は      PartitionType
  12. /dev/sda1   →  Id c W95FAT32 (LBA)
  13. /dev/sda2   →  Id 5 Extended
  14. /dev/sda5   →  Id 82 Linux swap / Solaris
  15. /dev/sda6   →  Id c W95FAT32 (LBA)  Raspbianの/bootにマウントするパーティション
  16. /dev/sda7   →  Id c W95FAT32 (LBA)  Ubuntuの/boot/firmwareにマウントするパーティション
  17. /dev/sda8   →  Id 83 Linux       Raspbianのルートパーティション
  18. /dev/sda9   →  Id 83 Linux       Ubuntuのルートパーティション
  19. /dev/sda10 → ID 83 Linux 共用のパーティション
  20.  
  21.  
  22. 2.作成したパーティションをフォーマットする
  23. (/dev/sda7はUbuntuの/boot/firmwareにマウントするパーティション、
  24. /dev/sda9はUbuntuのルートパーティションにマウントするパーティションです
  25. 適宜読み替えてください)
  26.  
  27. $ sudo mkfs -t vfat /dev/sda7
  28. $ sudo mkfs -t ext4 /dev/sda9
  29.  
  30.  
  31. 3./dev/mmcblk0p2のパーティションの内容をSSDのパーティションにコピー
  32. (/dev/sda9はUbuntuのルートパーティションにマウントするパーティションです
  33. 適宜読み替えてください)
  34.  
  35. mkdir /tmp/usd /tmp/ssd
  36. sudo mount /dev/mmcblk0p2 /tmp/usd
  37. sudo mount /dev/sda9 /tmp/ssd
  38. (cd /tmp/usd; sudo tar --backup -c *)|sudo tar -C /tmp/ssd -xv
  39.  
  40. 4.btcmd.txtを変更
  41. (ここでbbc81aaf-09はUbuntuのルートパーティションにマウントするパーティションです
  42. 適宜読み替えてください
  43. $ ls -l /dev/disk/by-partuuid
  44. で確認できます)
  45.  
  46. 変更前
  47. net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait
  48. 変更後
  49. net.ifnames=0 dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=bbc81aaf-09 rootfstype=ext4 elevator=deadline rootwait
  50.  
  51. 5.nobtcmd.txtを変更
  52. 変更前
  53. net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait
  54. 変更後
  55. net.ifnames=0 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=PARTUUID=bbc81aaf-09 rootfstype=ext4 elevator=deadline rootwait
  56.  
  57.  
  58. 6./dev/mmcblk0p1のパーティションの内容を
  59.   Ubuntuの/boot/firmwareにマウントするパーティションにコピー
  60. (/dev/sda7はUbuntuの/boot/firmwareにマウントするパーティションです
  61. 適宜読み替えてください)
  62. mkdir /tmp/usd2 /tmp/ssd2
  63. sudo mount /dev/mmcblk0p1 /tmp/usd2
  64. sudo mount /dev/sda7 /tmp/ssd2
  65. sudo cp -r /tmp/usd2/* /tmp/ssd2
  66.  
  67.  
  68. 7.SSDのubuntuのfstabを変更してルートパーティションをSSDのパーティションに変更する
  69. (/dev/sda9はSSDのUbuntuのルートにマウントするパーティションです
  70. 自分の環境に合わせて適宜変更してください
  71.  
  72. $ sudo mount /dev/sda9 /tmp/ssd
  73. (先ほどのUbuntuのルートの/dev/mmcblk0p2をSSDへのコピーでマウントしたままの人はそのままでいいです)
  74. $ sudo vi /tmp/ssd/etc/fstab
  75.  
  76. これを#でコメントアウトして
  77. LABEL=writable / ext4 defaults 0 0
  78.  
  79. 以下の内容に変更する
  80. (bbc81aaf-09はSSDのUbuntuのルートパーティション
  81. 自分の環境にあわせて適宜変えてください)
  82.  
  83. PARTUUID=bbc81aaf-09 / ext4 defaults 0 0
  84.  
  85.  
  86. 8.再起動する
  87. $ sudo reboot
  88.  
  89.  
  90. 9.RaspbianとUbuntuをSDカードの内容を書き換えてbootを切り替える場合は
  91.   SSDブートのUbuntu側で/etc/fstabの/boot/firmwareにマウントするパーティションを
  92. Ubuntuの/boot/firmwareにマウントするパーティションに変更してください
  93. $ sudo vi /etc/fstab
  94.  
  95. これを#でコメントアウトして
  96. LABEL=system-boot /boot/firmware vfat defaults 0 1
  97.  
  98. 以下の内容に変更する
  99. (PARTUUID=bbc81aaf-07はUbuntuの/boot/firmwareにマウントするパーティション
  100. 自分の環境にあわせて適宜変えてください)
  101.  
  102. PARTUUID=bbc81aaf-07 /boot/firmware vfat defaults 0 1
  103.  
  104. 変更したら
  105. $ sudo umount /boot/firmware
  106. $ sudo mount -a
  107. を実行してエラーがでないことを確認する
  108. エラーが出たら編集しなおしてエラーがなくなるまでやってください
  109.  
  110.  
  111. SSDにRaspbian用のSDカードの第一パーティションをSSDのどこかのパーティションに
  112. コピーしてある場合、RaspbianとUbuntuをSDカードの入れ替えなしで切り替えることができます
  113. 私の場合、
  114. /dev/sda6にSSDのRaspbianの/bootにマウントするパーティション
  115. /dev/sda7にSSDのUbuntuの/boot/firmwareにマウントするパーティション
  116. としてパーティションを確保して
  117. ここにRaspbian、UbuntuのSDカードの第一パーティションの内容をコピーしておき、
  118. Raspbianの/bootに/dev/sda6をマウント
  119. Ubuntuの/boot/firmwareに/dev/sda7をマウントしてます
  120.  
  121.  
  122. SSDにインストールしたRaspbianからSSDにインストールしたUbuntuに切り替える方法は
  123. Raspbianから
  124. /dev/mmcblk0p1の内容を消して
  125. Ubuntuの/boot/firmwareにマウントするパーティションの内容を
  126. SDカードの/dev/mmcblk0p1に書き込むだけです
  127.  
  128. UbuntuからRaspbianに切り替える場合は
  129. /dev/mmcblk0p1の内容を消して
  130. UbuntuからRaspbianの/bootにマウントするパーティションの内容を
  131. SDカードの/dev/mmcblk0p1に書き込むだけです
  132.  
  133.  
  134. この方法だと、OSを切り替える場合以外にも、
  135. 起動してるOSのカーネルやファームウエアの更新があった場合には
  136. SDカードの第一パーティションを更新する必要があります
  137.  
  138. ようするにSDカードの第一パーティションの内容を書き換えるだけで
  139. 起動するOSを選択できるので
  140. SSDから起動するために使うSDカードは容量の少ないSDカードでも十分です
  141. また、SSDのRaspbian用、SSDのUbuntu用の第一パーティションのファイルを
  142. 別のSDカードにバックアップしておけば
  143. もし、SDカードの第一パーティションの書き換えを間違えてしまっても
  144. バックアップ用のSDカードに差し替えれば起動するので
  145. 定期的に別のSDカードにバックアップすることをオススメします
  146. バックアップ用のSDカードは容量が小さいもので十分です
  147.  
  148. 方法がよくわからない人は危険なのでSDカードを入れ替える方法でやってください
  149. その方が安全です
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement