HDDからディスク容量の小さいSSDに移行した
メインPCのCPUをRyzen 5 3600に移行した話の続き
nantonaku-shiawase.hatenablog.com
- 「SSD 660p Series SSDPEKNW512G8XT」とかいう超速いSSDを入手したが、元のHDDのブートディスクが2TBデータを持っているのに対してSSDは512GBしかない
- どうやってデータ移行して起動できるようにするかという話
gpartedでefi用の領域を用意する
以降、SSDのデバイス名を「/dev/nvme0n1」として記載
- GPTのエントリを書き込む
$ sudo gdisk /dev/nvme0n1 w
容量200MB程度
Partition Name:『ESP』
基本パーティション
ラベル:『ESP』
ファイルシステム:『FAT32』
applyしたあと、作られた領域を右クリックして、『フラグを編集』をクリック。
- 『boot』
- 『esp』
の二つにチェックマークを付る
上記で2つのパーティションができる。以降、efi用の領域を「/dev/nvme0n1p1」、データ用の領域を「/dev/nvme0n1p2」として手順を記載する。
rsyncでデータ用の領域を同期
// コピー先SSD $ sudo mkdir /mnt/ssd $ sudo mount /dev/nvme0n1p2 /mnt/ssd // コピー元HDD $ sudo mkdir /mnt/hdd $ sudo mount /dev/sda1 /mnt/hdd // rsyncドライラン $ sudo rsync -avr --owner --group --dry-run /mnt/hdd /mnt/ssd // rsync実行(全体の進捗を出す、圧縮させると重いので-zはつけない) $ sudo rsync -ar --info=progress2 --owner --group /mnt/hdd/ /mnt/ssd/
grubのインストール
grubをインストールする
// grub2の準備 $ sudo apt-get install grub-efi-amd64-bin // chrootする(rootで実行していく) $ sudo su // データ用の領域をマウントする # mkdir /chroot # mount /dev/nvme0n1p2 /chroot // プログラム実行に必要なものをbind # mount --bind /dev /chroot/dev # mount --bind /dev/pts /chroot/dev/pts # mount --bind /proc /chroot/proc # mount --bind /sys /chroot/sys # mount --bind /run /chroot/run # chroot /chroot
// 無ければ /boot/efi は作っておく # mkdir -p /boot/efi # mount /dev/nvme0n1p1 /boot/efi
空のEFI領域にブートプログラムであるところのgrubをインストール
# grub-install --target=x86_64-efi --efi-directory=/boot/efi --recheck # ls -l /boot/efi/EFI/debian/ 合計 5202 -rwxr-xr-x 1 root root 108 2月 27 00:40 BOOTX64.CSV -rwxr-xr-x 1 root root 1206824 2月 27 00:40 fbx64.efi -rwxr-xr-x 1 root root 117 2月 27 00:40 grub.cfg -rwxr-xr-x 1 root root 1533296 2月 27 00:40 grubx64.efi -rwxr-xr-x 1 root root 1261192 2月 27 00:40 mmx64.efi -rwxr-xr-x 1 root root 1322936 2月 27 00:40 shimx64.efi
/etc/fstabの編集
- /etc/fstabを以下のように編集し、再起動
- 起動するディスクはefiをインストールしたやつにする
- 事前にsudo blkid /dev/nvme0n1p1, sudo blkid /dev/nvme0n1p2 しておきPARTUUIDを記録しておく
$ sudo cat /etc/fstab # /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> PARTUUID=6e1ae4f9-bf29-4d76-a1b5-bfed57c80ee1 /boot/efi vfat errors=remount-ro 0 2 PARTUUID=ac09284a-8f98-46e0-a613-04f2b5621055 / ext4 errors=remount-ro 0 1
くぅ~疲れましたw これにて完結です!
メインPCのCPUをRyzen 5 3600に移行した
前回CPUとマザーボードを変更したのが2013年なので、8年ぶりにCPU買った…
nantonaku-shiawase.hatenablog.com
PCの構成
AMD Ryzen 5 3600 with Wraith Stealth cooler 3.6GHz 6コア / 12スレッド 35MB 65W【国内正規代理店品】 100-100000031BOX
- 発売日: 2019/07/07
- メディア: Personal Computers
ASRock AMD Ryzen 3000シリーズ (Soket AM4)対応 B550チップセット搭載 Micro ATX マザーボード 【国内正規代理店品】B550M Steel Legend
- 発売日: 2020/06/16
- メディア: Personal Computers
CFD販売 デスクトップPC用メモリ PC4-21300(DDR4-2666) 16GB×2枚 288pin (無期限保証)(Crucial by Micron) W4U2666CM-16G
- 発売日: 2017/09/02
- メディア: Personal Computers
- SSD 660p Series SSDPEKNW512G8XT
INTEL 3D NAND技術を搭載 インテル®SSD660Pシリーズ SSDPEKNW512G8XT
- 発売日: 2018/09/22
- メディア: Personal Computers
- WD Blue 3D NAND SATA WDS500G2B0A
Western Digital SSD 500GB WD Blue PC PS4 2.5インチ 内蔵SSD WDS500G2B0A-EC 【国内正規代理店品】
- 発売日: 2019/06/23
- メディア: Personal Computers
電源 : SST-ST55F-G(8年経過しているが続投、そろそろ変えたほうがよさそう)
ケース: SST-GD08B(8年経過しているが続投、どうしようかなこれも…)
CD/DVDドライブ:適当に余っているもの
ディスプレイ、マウスキーボード:適当に余っているもの
CPUは以前から使いたいと思っていたAMDのRyzenにした。もう少しお金を出して上位のエディションを買っても良かったが、まあ性能比較したときに十分向上してるからいいかなと思い、Ryzen 5 3600にした(あとパソコン工房でセールだったので)
これはクロック数が3.6GHzではあるが、A10 5800Kのコア数が4なのに対してRyzen 5 3600は6あるため総合的に見て速い。また、Ryzenのスレッド数は12である。
そして、A10が当時4万円だったのに対してRyzen5は2万5000円である。
Ryzen 5 3600 と A10 5800Kの比較
CPU | AMD A10-5800K vs AMD Ryzen 5 3600の比較
- CPUスレッドが12になるのは、見てみると結構すごい
- 今まで4しかなかったスレッドが一気に12になったので見た目的にすごい
- 実際使ってみるとninjaで並列ビルドしたときの速度が上がったり、Steamで激遅だったゲームがまともに動いたりした
トラブルシュートや改善
B550M Steel LegendのNICのドライバがない
Linuxあるあるですが、起動時にマザーボードについてるNICのドライバがないためにsystemdのnetworking.serviceが開始できず、リカバリモードで起動した。
とりあえずUSB-LAN変換ケーブルで外部ネットワークと通信。
$ sudo lspci | grep Ethernet 06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8125 (rev 05)
Realtekの8125というやつらしい
Realtek 8125を使えるようにする
Realtek 8125 NIC をCentOS8で動かす - Qiita を参考に
$ cd ~/Downloads/ $ tar xvf r8125-9.005.01.tar.bz2 $ cd r8125-9.005.01/ $ sudo ./autorun.sh $ sudo depmod -a
Realtek 8125をDKMSに登録して自動で配備
自動的にドライバを更新させたいのでDKMSを使う。kernel update時にRealtek 8125 NICのドライバを自動コンパイルする - Qiita を参考に
// ドライバのソースコードを/usr/srcへ移動 $ tar xvf r8125-9.005.01.tar.bz2 $ sudo mv r8125-9.005.01 /usr/src // vim /usr/src/r8125-9.005.01/src/Makefile - BASEDIR := /lib/modules/$(shell uname -r) + BASEDIR := /lib/modules/$(KVER) // dkms.confの作成 $ cat /usr/src/r8125-9.005.01/dkms.conf PACKAGE_NAME="r8125" PACKAGE_VERSION="9.005.01" BUILT_MODULE_LOCATION[0]="src" BUILT_MODULE_NAME[0]="r8125" MAKE[0]="'make' KVER=${kernelver} modules" CLEAN="make clean" DEST_MODULE_LOCATION[0]="/updates/dkms" AUTOINSTALL="yes" // DKMSへの追加、ビルド、インストール $ sudo dkms add -m r8125 -v 9.005.01 $ sudo dkms build -m r8125 -v 9.005.01 $ sudo dkms install -m r8125 -v 9.005.01
これでカーネルを更新したら自動でドライバが適用される。
ZENカーネルを使用する
最適な性能を得るには linux-zen カーネルをインストールします。Linux ZEN はあらゆるプロセッサで優れた速度と安定性を提供します。デフォルトカーネルと同じ電力を消費するためデスクトップで使用する場合のみ推奨です。
linux-zenの導入について | 点と接線。
Liquorix Kernel
Liquorix Kernelというやつがいいらしいので、後先考えずぶっこんでいく
$ curl 'https://liquorix.net/add-liquorix-repo.sh' | sudo bash $ sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
M.2をつかって動作させるSSDのR/W性能がヤバイ
今回はM.2 SSDを流れで購入したのだが、この記事によるとM.2を使うとSSDのREADが3GB/秒でできるらしい。やべえ…これもうRAMでしょ…
kaworu.jpn.org
cryptographyがRustを依存先にもったためpipが失敗するようになった
コメントから
https://github.com/pyca/cryptography/issues/5771#issue-803350135
新しく追加されたRustへの依存により、サポートされている多くのGentooアーキテクチャ(およびこれらは実際にcryptographyに依存するPythonパッケージを使用するアーキテクチャ)のcryptographyをパッケージ化できなくなったことを報告します。
プラットフォームサポートをご覧ください。 いくつかのターゲットを「Tier3」に劣化させることに加えて、Rustは少なくともalpha、hppa、ia64、m68k、s390(-xではない)を完全にはサポートしていません。 暗号化のCコードをこれらのプラットフォームに調整するコスト(これまでのようにそのままでは機能しないと想定した場合でも)は、Rust全体を移植するコストよりもはるかに低くなります。 暗号化を取り戻すためだけに、ボランティアがRust全体を他のアーキテクチャに移植することを期待することはできません。
今のところ、Tier 1以外のアーキテクチャ(つまり、アップストリームがブートストラップバイナリを提供しない場合)用にRustをパッケージ化することさえ非常に困難です。
とりあえず手元でもansibleのインストールとfabric2のインストールに失敗したぜ😭
どうすんのこれ…
まじでやばい…
対処
- とりあえずcryptographyのバージョンを下げた