NVMeから起動できないPCで、/usrなどをNVMeに移動して高速化

## 本来は　clover を使うべきですが、　結構謎深くムズイのでこれを書きました。　cloverを使ったほうが音がいいです。

|なおcloverは以下です
|:---
|https://qiita.com/tyokai/items/c2e7a0897d5c6c78c7e6


--------------
--------------




##読み込みは１G/s 超え

```
#  hdparm -Tt --direct /dev/nvme0n1
/dev/nvme0n1:
 Timing O_DIRECT cached reads:   3070 MB in  2.00 seconds = 1537.53 MB/sec
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 Timing O_DIRECT disk reads: 6356 MB in  3.00 seconds = **2118.42 MB/sec**
```
と速いです

**pro**disk 600 G2の売り主も　「Dell製のビジネス機でPCI バスに接続した nvme への windows１０ のインストールを試行してまいりましたが、Biosからはsas strageとしか認識されず、OSのインストールに至らないケースばかりでした。今回HP製の比較的新しい機種prodisk 600 **G2**が入荷たのでトライしたところ、難なくwindows１０のインストール成功しました。」


----------

しかし　現在のメインPCは**elite**disk 800 G1 です
これは マザーあるいはBIOSが非対応なため　nvme からLINUXを起動できません。


|しかし、ヤフオクに　win10なPCで|
|:---|
|M.2 NVMe 120GBにWindows 10 Pro 64bit 1909をインストール。SSDでも不可能なスピードを実現。起動もあっという間です。PCIeカードと合わせて約１万円です（最近高騰中）**絶対に**　付属するもう１つの1TBの機械式ハードディスクを取り外したり、中身を消去しないでください。起動できなくなります|
|こいつのlinux版（自分のは **manjarolinux** ）みたいなものです|



ということで
archklinuxのインストールUSBで起動して
pacman -Sy rsync　して
rsync を導入後




mount /dev/sdb2 /mb2
mount /dev/nvme0n1p1 /mp1
rsync -avHx /mb2/usr/  /mp1/

などして

/ma2/etc/fstabを　書き換えました

　


現在

```
# ./comment-out.bat /etc/fstab
UUID=7DE4-392B                            /boot/efi      vfat    umask=0077 0 2
UUID=33e70b62-9bbe-4217-962e-b72b6056a68a /              ext4    defaults,noatime,discard 0 1
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
/dev/nvme0n1p1     			 /usr		ext4	defaults,noatime 0 1
/dev/nvme0n1p2     			 /var		ext4	defaults,noatime 0 1
/dev/nvme0n1p3     		         /home	        ext4 	defaults,noatime 0 1
  




# df
ファイルシス   　　サイズ  使用  残り 使用% マウント位置
dev              3.9G     0  3.9G    0% /dev
run              3.9G  1.3M  3.9G    1% /run
/dev/sdb2        117G   20G   92G   18% /
tmpfs            3.9G   22M  3.9G    1% /dev/shm
tmpfs            3.9G     0  3.9G    0% /sys/fs/cgroup
tmpfs            3.9G   43M  3.9G    2% /tmp
/dev/nvme0n1p2    32G  3.2G   27G   11% /var
/dev/nvme0n1p1    63G  7.5G   52G   13% /usr
/dev/nvme0n1p3   132G   12G  114G    9% /home
/dev/sdb1        300M  280K  300M    1% /boot/efi
tmpfs            788M   12K  788M    1% /run/user/1000

---------
なお　以下です　（465GBの機械式ハードディスク/dev/sdaは　win10起動用＋倉庫用ですので今は無視してください）

# fdisk  -l
ディスク /dev/nvme0n1: 238.49 GiB, 256060514304 バイト, 500118192 セクタ
デバイス       起動  開始位置  終了位置    セクタ サイズ Id タイプ
/dev/nvme0n1p1           2048 134219775 134217728    64G 83 Linux
/dev/nvme0n1p2      134219776 201328639  67108864    32G 83 Linux
/dev/nvme0n1p3      218105856 500118191 282012336 134.5G 83 Linux
/dev/nvme0n1p4      201328640 218105855  16777216     8G 83 Linux



ディスク /dev/sda: 465.78 GiB, 500107862016 バイト, 976773168 セクタ  
デバイス    開始位置  終了位置    セクタ サイズ タイプ
/dev/sda1       2048   1085439   1083392   529M Windows リカバリ環境
/dev/sda2    1085440   1290239    204800   100M EFI システム
/dev/sda3    1290240   1323007     32768    16M Microsoft 予約領域
/dev/sda4    1323008 250068991 248745984 118.6G Microsoft 基本データ
/dev/sda5  250068992 512212991 262144000   125G Linux ファイルシステム
/dev/sda6  512212992 976773134 464560143 221.5G Linux ファイルシステム



**起動用**機械式ハードディスク /dev/sdb: 149.5 GiB, 160041885696 バイト, 312581808 セクタ
ディスク型式: WDC WD1600BEVS-0
デバイス   開始位置  終了位置    セクタ サイズ タイプ
/dev/sdb1      4096    618495    614400   300M EFI システム
/dev/sdb2    618496 250067789 249449294   119G Linux ファイルシステム


なおUUIDは
# blkid /dev/sdb1
/dev/sdb1: UUID="7DE4-392B" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="66ce83d9-8d56-3c41-a087-cc08325d70e6"


# blkid /dev/sdb2
/dev/sdb2: UUID="33e70b62-9bbe-4217-962e-b72b6056a68a" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="ce73bd77-8f96-e24f-aa11-10b058b06473"

と矛盾はないと思います

```

##問題の速さですが　＜書き込み＞　は
機械式ハードディスク領域では
# dd if=/dev/zero of=/root/ZZZ bs=16k count=600000
600000+0 レコード入力
600000+0 レコード出力
9830400000 bytes (9.8 GB, 9.2 GiB) copied, 130.341 s, 75.4 MB/s
と１０GBの書き込みなので　75.4 MB/sと大変おそく


nvme領域では
# dd if=/dev/zero of=/home/jaro/ZZZ bs=16k count=600000
600000+0 レコード入力
600000+0 レコード出力
9830400000 bytes (9.8 GB, 9.2 GiB) copied, 11.6631 s, 843 MB/s
と843 MB/sと早くなってます。


##　付録１） いろんなフォルダについては
https://wiki.archlinux.jp/index.php/Arch_%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%9A%8E%E5%B1%A4#.2Frun:_.E4.B8.80.E6.99.82.E7.9A.84.E3.81.AA.E5.AE.9F.E8.A1.8C.E6.99.82.E3.83.87.E3.83.BC.E3.82.BF

## 付録2）NVMeについては
https://wiki.archlinux.jp/index.php/%E3%82%BD%E3%83%AA%E3%83%83%E3%83%89%E3%82%B9%E3%83%86%E3%83%BC%E3%83%88%E3%83%89%E3%83%A9%E3%82%A4%E3%83%96/NVMe



##閑話
https://ja.wikipedia.org/wiki/%E4%B8%89%E8%B7%AA%E4%B9%9D%E5%8F%A9%E9%A0%AD%E3%81%AE%E7%A4%BC
三跪九叩頭の礼（さんききゅうこうとうのれい）は、清朝皇帝の前でとる臣下の礼の1つ。

手順[編集]
「跪」の号令で跪き、
「一叩（または『一叩頭』）」の号令で手を地面につけ、額を地面に打ち付ける。
「二叩（または『再叩頭』）」の号令で手を地面につけ、額を地面に打ち付ける。
「三叩（または『三叩頭』）」の号令で手を地面につけ、額を地面に打ち付ける。
「起」の号令で起立する。
これを計3回繰り返すので、合計9回、「手を地面につけ、額を地面に打ち付ける」こととなる。

琉球王朝や李氏朝鮮では、
中国からの**勅使**に対し、
         **王**が王都の郊外に出向き、
自ら三跪九叩頭の礼で迎えていた。

その郊外の地が
琉球の場合は守礼門であり、
朝鮮の場合は迎恩門である。

迎恩門は　https://ja.wikipedia.org/wiki/%E8%BF%8E%E6%81%A9%E9%96%80　より
![Screenshot-2020-04-04-14-18-37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/657d9f34-0650-8a10-5109-ed3a25883f82.png)


##Dell precision T3500 の場合
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/60e48b8c-3f87-7dc2-4de3-37635dc52403.png)
を使用しました

|これは５年くらい前に買った　workstationで　古い証拠に　USB2.0しかついてません。　またUEFIでなくBIOS起動です。　これがすごく早くなりました|
|:---|

![222.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/211097/3880a5f2-7a14-b95a-9c09-044aad2d91a9.jpeg)


```
# hdparm -t /dev/nvme0n1p5
/dev/nvme0n1p5:
 HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
 Timing buffered disk reads: 4350 MB in  3.00 seconds = 1449.88 MB/sec


# df
ファイルシス   サイズ  使用  残り 使用% マウント位置
dev              4.9G     0  4.9G    0% /dev
run              4.9G  1.4M  4.9G    1% /run
/dev/sda1        138G  8.5G  122G    7% /
tmpfs            4.9G  233M  4.7G    5% /dev/shm
tmpfs            4.9G     0  4.9G    0% /sys/fs/cgroup
tmpfs            4.9G  8.0K  4.9G    1% /tmp
/dev/nvme0n1p3    20G  6.9G   12G   38% /usr
/dev/nvme0n1p4   9.8G  1.9G  7.5G   21% /var
/dev/nvme0n1p5    78G  512M   74G    1% /home
tmpfs            996M   20K  996M    1% /run/user/1000




# 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>
UUID=9d17f581-9ee1-4982-9f11-e8b776d32261 /              ext4    defaults,noatime 0 1
/dev/nvme0n1p1		 swap              swap    defaults,noatime 0 2
/dev/nvme0n1p3		 /usr              ext4    defaults,noatime 0 1
/dev/nvme0n1p4		 /var             ext4    defaults,noatime 0 1
/dev/nvme0n1p5		 /home             ext4    defaults,noatime 0 1



# crontab -l
40      14      *       *       2       halt -p
40      14      *       *       5       halt -p
0       19      *       *       *       halt -p
# 隔離したい場合は
30      11      * * *   freshclam ;  clamscan --exclude-dir=^/sys --exclude-dir=^/proc --exclude-dir=^/dev --recursive --infected --move=/Virus--- /




```