2020/01/24 このエントリーをはてなブックマークに追加 はてなブックマーク - LG gramというノートPCを買ってwin10/Archのデュアルブートをやるまでの話

LG gramというノートPCを買ってwin10/Archのデュアルブートをやるまでの話



年始のAmazonセールでそこそこのスペックで自分が欲しいPCがあったので買いました。
そして、そのPCを生贄にしてwin10/Archのデュアルブート環境の構築までは行ったので一旦書いてみます。

  • 1.PC購入編
  • 2.win10設定編
  • 3.Archインストール編

の3ステップのお話です。


目的としてはこんな感じです。

  • 重量の軽くそこそこのスペックのマシンが欲しい(Goが書ければ良いかなぐらい)
  • linuxの勉強がてらmacがオワコンになった将来に備える(macが根強く人気ですが今後どうなるかなぁとなった時に選択肢は色々欲しいなと)
  • たまにwinを使いたくなる時もあるかもしれない

トラブルシューティングやリカバリを考えるとデュアルブートしない方が断然楽だと思います。
むしろデュアルブートの方が問題が増える。

そこも含めて楽しめる人はデュアルブートやっても良いと思います。


どうやらUEFIとsystemd-bootとかだとそんなにトラブらないのだそうです。
ということで、今回はそういう構成にしています。
旧来のMBR使うようなやつで、GRUBとかの方がハマりやすいらしい。そのあたり、詳しく無いので伝聞レベルですがご容赦下さい。


このあたりを参照…?
https://twitter.com/kotatsu_mi/status/1210950865957220352



僕が買ったのは LG ノートパソコン gram 965g です。
https://www.amazon.co.jp/gp/product/B07MZ1K6ZJ/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1

(↓は開封の雄叫びの儀)


なんと言っても1kgを下回るこの軽さ。
僕は軽いもの、小さいものがなぜかめっちゃ好きです。
スペック的にはこんな感じ。

  • バッテリー28時間
  • Core i5
  • 13.3インチ
  • 965g
  • Windows 10(プリインストール)
  • メモリ 8GB
  • SSD 256GB



まぁこんだけあればGoとかは普通に書けます。
重めのIDE系立ち上げたとしてもなんとかなるでしょう、という感じ。
dockerはしんどいかな?そこも今度試してみようと思います。

今は10万越えですが、セール期間だったので9万弱で購入出来ました。
1つ不満があるとすれば、SSD容量でしょうか。
デュアルブートするなら512GBとかは欲しいかも。
とはいえ、256GBでも余裕はあります。
最悪、軽めの外づけSSDとかですかね。
換装は出来るかわからないし、出来たとしても面倒そう。


メモリは8GBですが、今のところストレスないです。
一応16GBとかに換装出来ます。
困ったらメモリは差し替えるかもしれません。


デュアルブートをやるためにはwindows側の設定も多少いじる必要があります。僕がやったのはこれだけです。

  • 高速スタートアップoff
  • winのパーティション縮小(今後かさむことなどを考えてCドライブを64GBに縮小)
  • Secure Boot off
  • usb deviceの起動順をいじる
  • ハードウェアクロックをUTCにする
  • WindowsがUEFIか確認する→UEFIだった
  • WindowsがGPTかMBRか確認→GPTだった


この際、GPTとUEFIだったので一番望ましい状態であることがわかったので楽だった。
もしMBRとかだったらwindows側のクリーンインストールから入ってUEFIの設定とGPTフォーマットするとかそういうのが必要だったと思う。

僕の場合はwin側はほとんど触らずにArchをインストールするステップに進めたわけです。


ザックリとこの流れでした。

  • USBインストールメディア作成
  • パーティション作成
  • パーティションフォーマット
  • fstabとかやる
  • 作成したパーティションにマウント
  • pacmanでArchのbaseとかをinstall
  • shutdownしてUSBを外す
  • Archを起動
  • wpa_supplicantでwifiの設定

一番気をつけたのはパーティションの作成、削除などの対象を間違えないことです。そこさえ間違えなければなんとかなる。

winのパーティション消しちゃったとかなったらwinのリカバリから入ることになるだろうし
泣くことになるのは目に見えていたのでそこを一番慎重にやりました。
あとは、打ったコマンドをすべて記録しておくこと(ls とかcdとかは省くけど)。これも結構大事。

参考にしたのはArchのwikiと、以下の記事でした。
https://qiita.com/TsutomuNakamura/items/b60518f8788e5e998744
https://qiita.com/mopp/items/f1912433abbed69f5f99


具体的に自分がやった流れを書いていきます。


インストールメディア作成

このやり方通りにやれば出来ます。
iso落として来て各OSのツールやコマンドでやる感じです。
僕の場合はmacでdiskutilとddを使いました。
https://wiki.archlinux.jp/index.php/USB_%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2

ちなみにbootable usbにするために買ったのはこれでした。
https://www.amazon.co.jp/gp/product/B01AJOAH1S/ref=ppx_yo_dt_b_asin_title_o02_s00?ie=UTF8&psc=1

インストールメディアを作成して、心の準備ができたらUSBをPCに指しこんで起動しましょう。



パーティション作成

起動したら真っ黒画面になるわけですが、ここからはUSB起動での作業です。まずはパーティションの作成。自分の場合はこうですが、パーティション番号は各自の環境に合わせてください。

#root(64GB)
sgdisk -n 7:0:+64G -t 7:8300 -c 7:"Linux filesystem" /dev/sda
#home(128G)
sgdisk -n 8:0:+128G -t 8:8300 -c 8:"Linux filesystem" /dev/sda
#recovery(1G)
sgdisk -n 9:0:+1G -t 9:8300 -c 9:"Linux filesystem" /dev/sda


フォーマットとマウント

こちらのコマンドも、各自の環境に合わせてください。

#フォーマット
mkfs.ext4 /dev/sda7
mkfs.ext4 /dev/sda8
#マウント
mount /dev/sda7 /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/sda1 /mnt/boot
mount /dev/sda8 /mnt/home


色々必要なものインストールしてfstab設定

色々つっこんでいきます。

wifi-menu
timedatectl set-ntp true
vi /etc/pacman.d/mirrorlist
pacstrap /mnt base base-devel zsh git dialog wpa_supplicant
genfstab -p /mnt >> /mnt/etc/fstab


arch-chrootしてlocaleの設定

SSDに色々突っ込んでいたところにログインします。

arch-chroot /mnt 
echo yy.yank.arch > /etc/hostname
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
pacman -S vi
pacman -S vim
vi /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf


色々入ってなかったのでインストールしつつ、mkinitcpioでRAMの設定

RAMの設定。パスワードも設定します。
この記事を作成時点ではこれらをインストールしていますが、
今後依存関係も変遷すると思いますので必要なコマンドがあるかどうかはこの時点で色々確認しておいた方が良いです。

pacman -S mkinitcpio
pacman -Syu --needed base base-devel
pacman -S linux
pacman -S linux-firmware
mkinitcpio -p linux
passwd


boot loaderの設定

systemd-bootを入れていきます。

bootctl --path=/boot install
vi /boot/loader/loader.conf
$  # default  arch
$  # timeout  1
$  # editor  0
cp /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/
pacman -S intel-ucode
$  # Intelのマイクロコード修正もここで入れておく
blkid -s PARTUUID -o value /dev/sda7 >> /boot/loader/entries/arch.conf
$  # 手打ちは大変なので、rootパーティションのPARTUUIDを追記しておく

vi /boot/loader/entries/arch.conf
$  # title   Arch Linux
$  # linux   /vmlinuz-linux
$  # initrd  /intel-ucode.img
$  # initrd  /initramfs-linux.img
$  # options root=PARTUUID=hogehoge rw 


なんか紆余曲折あって足りなかった依存をインストール

実はここまでの手順だけだと、いざ起動した時に
dhcpcdが入っていなくて困りました。
なので、この時点で以下あたりを入れておくとあとあと楽だと思います。
とりあえず、作った環境でインターネットにつながればなんとかなる…!

pacstrap /mnt linux base base-devel cryptsetup device-mapper dhcpcd e2fsprogs inetutils jfsutils linux-firmware logrotate lvm2 man-db man-pages mdadm nano netctl perl reiserfsprogs s-nail sysfsutils texinfo usbutils vi xfsprogs

参考)
https://www.archlinux.site/2019/10/arch-linuxbase.html



アンマウントして終了

設定は終了したので、アンマウントして終了。USB外して再起動

exit
umount -R /mnt
shutdown -h now

ここからはインストールしたArch上での作業です。USBインストールメディアは一旦おやすみです。
もちろん困ったことがあった場合にはUSBで再びブートして、インストールしたArchをいじることも可能です。



wifi設定


wifi-menuは使えません。依存入れれば良いんかな?
ちょっと自分はわからなかったのでwpa_supplicantというコマンドで設定して、dhcpcdでDHCP割当しました。

参考にした記事はこちら)
https://qiita.com/niranken/items/0ed41c284dd636fcaf0d
だいたいこの通りにやればできました。

ping 8.8.8.8
ping www.google.com
でつながればOKです。

それでもうまくいかない場合は、自宅のネットワーク環境の問題かパスワード不備、DNSの問題だとresolve.confいじったりも必要だと思います。




だいたいこんな感じです。
今のところ、winもArchも普通に起動してデュアルブートライフを始められています。
次回は”Archデスクトップ環境編” or ”ドキッ!windows updateで大ピンチ!?編” などでお会いしましょう!


※windows updateで大ピンチ!?編が無いことを願っている

おまけ


作業してた時のツイート
















0 件のコメント:

コメントを投稿