デュアルブートPC上でUbuntuをUSBメモリにインストールした
はじめに
Qiita初投稿です。大学の生協で買ったクソ遅かった生協PCを使ってUbuntu+Windowsのデュアルブートをしています。
基本は家で使ってますが、大学まで持っていくのが重くてめんどくさい。通勤ラッシュでPCが押しつぶされたらどうしよう。
ということで、Ubuntuの環境を持ち運べるようにUSBメモリにインストールした。
使用したデバイス
-
FUJITSU LIFEBOOK SH90/T /dev/sda
- Ubuntu 18.04とWindows 10のデュアルブート(UEFIブート)
- HDDの動作があまりに遅くてイライラしてたのでSSD換装している
BuffaloのUSBメモリ:2GB(容量が小さい、isoを書き込む) /dev/sdb
ELSONICのUSBメモリ:16GB(容量が大きい、Ubuntuのインストール先) /dev/sdc
isoの書き込み
FUJITSU LIFEBOOK SH90/T /dev/sda
- Ubuntu 18.04とWindows 10のデュアルブート(UEFIブート)
- HDDの動作があまりに遅くてイライラしてたのでSSD換装している
BuffaloのUSBメモリ:2GB(容量が小さい、isoを書き込む) /dev/sdb
ELSONICのUSBメモリ:16GB(容量が大きい、Ubuntuのインストール先) /dev/sdc
1年前にやったのでどうやったか忘れた。Unetbootinだったかな?
USBメモリのパーティション
小さい方のUSBメモリ(/dev/sdb
)からブートする。
Try Ubuntu without Installingを選択。
大きい方のUSBメモリ(/dev/sdc
)を接続し、GPartedでパーティションをいじる。
参考サイト を見たところ、USBメモリの先頭にfat32形式で領域を確保すればWindowsからもアクセスできると知り、同じようにパーティションを編集した(/dev/sdc1
)。
あとはUbuntuがインストールされる、ext4のパーティション(/dev/sdc2
)を作る。
swap領域は作らなかった。
2020.5.3追記: UEFIブートするためにはEFIパーティション(マウントポイントは /boot/efi )が必要。
Windowsとデータ共有用のパーティションは作らないで進め、/dev/sdc1
をEFIパーティションにする方が良さそう。
インストール
デスクトップにある「Ubuntu 18.04のインストール」をダブルクリック。
間違えるとSSDのデータが飛ぶので気をつける(そもそもSSDを外して作業すべきだった説)。
なお/dev/sdc2
のような部分は環境によって変わるので、適宜読み替えていただくとよい。
- 「インストールの種類」:
それ以外
- マウントポイント(
/dev/sdc2
):/
- ブートローダをインストールするデバイス:
/dev/sdc
解像度の関係で画面の下が切れていて、ブートローダをインストールするデバイスのメニューを選べなかったので設定を変更した。
$ xrandr --output eDP-1 --mode 1920x1440
起動できるか試す
- 大きい方のUSBメモリを外して(SSDから)いつもどおり起動できるか→起動できない(汗)
- grub rescue的な画面が出現
- 大きい方のUSBメモリを付けて起動→GRUBにすべてのOSが登録されているのでこっちはいけそう(結局やらなかった)
SSDのブートローダを修復
- 大きい方のUSBメモリなしで起動しないのはまずい
- 大きい方のUSBメモリを外して修復。参考サイト(web archive)の通りで大丈夫だった。ひとまず安心。
大きい方のUSBメモリのブートローダを修復
- grub rescue的な画面が出現
- 大きい方のUSBメモリなしで起動しないのはまずい
- 大きい方のUSBメモリを外して修復。参考サイト(web archive)の通りで大丈夫だった。ひとまず安心。
大きい方のUSBメモリのブートローダを修復
この作業はWindowsのみインストールされている別のPCを使って行った。EFIパーティションを/dev/sdc1
とした(共有用のパーティションを後で変更する)。
大きい方のUSBメモリから起動
grubのos選択画面からUbuntuを選べるようになってた。
しかし、この後ログイン画面が現れずemergency modeになってしまった。
ググってみたところ /etc/fstab
が怪しそう。
# cat /etc/fstab
ブート時に /dev/sda3
(SSDのブートローダ)を読み込む設定になってしまっていた。
→ /dev/sdc1
を読み込ませるようにする。
パーティションを再編集
共有用のパーティションを別に作る。番号の並びが変になってしまった。
-
/dev/sdc3
: 共有用(fat32)、/windows
にマウント -
/dev/sdc1
: ブートローダ(に変更)、/boot/efi
にマウント -
/dev/sdc2
: ubuntu、/
にマウント
対応するUUIDを指定してマウントの設定を書く。
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdc2 during installation
UUID=hoge / ext4 noatime,errors=remount-ro 0 1
# /boot/efi => /dev/sdc1 に変更
UUID=fuga /boot/efi vfat umask=0077 0 1
# /windows => /dev/sdc3 に変更
UUID=piyo /windows vfat noatime,users,rw,utf8,uid=1000,gid=1000,fmask=133,dmask=022 0 1
# swapは使用しない
tmpfs /tmp tmpfs defaults,noatime,size=512m 0 0
tmpfs /var/tmp tmpfs defaults,noatime,size=512m 0 0
tmpfs /var/log tmpfs defaults,noatime,size=512m 0 0
UUID=foo /media/(username)/C auto nofail,noatime,users,rw,uid=1000,gid=1000,fmask=133,dmask=022 0 0
UUID=bar /media/(username)/D auto nofail,noatime,users,rw,uid=1000,gid=1000,fmask=133,dmask=022 0 0
起動できた
SSDなどを自動マウントする場合、/etc/fstab
の設定で nofail
と書かないとそもそも起動できなかったりする(別PC上で起動するなどマウントできない場合にすぐemergency modeになる)。
WindowsのBitLockerがかかっているとマウントできない(それはそう)。
パーティションテーブルがmsdosだった?
$ sudo parted -l
モデル: (scsi)
ディスク /dev/sdc: 15.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
3 1049kB 3461MB 3460MB primary fat32
1 3671MB 4195MB 524MB primary fat32 boot, lba
2 4195MB 15.8GB 11.6GB primary ext4
4 15.8GB 15.9GB 105MB primary fat32
これでも起動できてる。UEFI-MBRの組み合わせになっている?
USBメモリの寿命を延ばす対策 メモ
効果がどのくらいあるかは不明。
- /etc/sysctl.conf の vm.dirty_writeback_centisecs の値を大きく
- mlocateをcron.dailyからcron.weeklyに移動
- /etc/fstab の設定
- tmpfs (/tmp, /var/tmp, /var/log)
- noatime
いろんな設定(1, 2)(3)(4)
-
UbuntuとWindowsで時刻が9時間ずれる問題の解消
$ timedatectl set-local-rtc true
-
ディレクトリ名を英語に
$ LANG=C xdg-user-dirs-gtk-update
-
ctrlとcapsの入れ替え
/etc/default/keyboardXKBOPTIONS="ctrl:swapcaps"
-
ノートPCでタッチパットが反応しない問題の解決
/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.notimeout i8042.nomux"
Ubuntu 20.04 の場合
2020.5.3追記: 同様にやってみたら案の定失敗したのでブートローダを修復した。インストール時に
以下のデバイスのパーティションテーブルが変更されます:
SCSI1 (0,0,0) (sda)
のように、インストール先のデバイス (/dev/sdc
) 以外のものが表示される場合は失敗しそう。
最後に
fat32のパーティションが最初じゃなくて(ext4をまたいで)最後にあってもWindowsで読み込めるかどうか試したところ、できた(できるようになってた)。
参考にしてたサイトが結構前のものだったので、最新の情報を調べることが大事そう。
Windows 10は起動しただけでメモリを2GB食っているのをやめてほしい(これが嫌で仮想環境とかは使いたくない)。
最後まで読んでくださりありがとうございます。
Author And Source
この問題について(デュアルブートPC上でUbuntuをUSBメモリにインストールした), 我々は、より多くの情報をここで見つけました https://qiita.com/k-sekino/items/2532ef81003311090503著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .