Linux PCでSSDを追加する為の、ディスク確認〜パーティション作成〜フォーマット〜UUID確認〜自動マウント設定方法を記しておきます。
ディスク確認
- 実際に追加のSSDを取り付けてPCを起動したら、取り付けたディスクの確認をします。
- SSDの場合、以下の2つで表示されるのでそれらを探します。
- /dev/sda
- SATA接続の追加したSSDです。
- SATA接続のSSDが複数あれば、/dev/sda1, /dev/sda2等が表示されます。 またPCによっては/dev/sdcとかになるものもあるので、メーカ名や容量を要確認です。
- 今回はこれを設定します。(下の表示は既に設定後なのでext4と表示されます)
- /dev/nvme0n1
- 最近の高速のPCIe接続(NVMe)のSSDです。
- 0はNVMeに搭載されたSSDの1つ目を指します。
- 2つ目がある場合は、/dev/nvme1n1と表示されると思います。
- 以下の例では、Numberに1,2のパーティションがあり、1がブート用です。
- /dev/sda
- partedが使えなければ、fdiskでも確認できます。
$ sudo parted -l Model: ATA Patriot P210 204 (scsi) Disk /dev/sda: 2048GB //<-------これが追加したSSDなのでこれを設定します。 Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 2048GB 2048GB ext4 Model: Hanye HE70-2TBNHS1 (nvme) Disk /dev/nvme0n1: 2048GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp 2 538MB 2048GB 2048GB ext4 *********************或いはfdiskを使う************************************************** $ sudo fdisk -l Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors //<---この様にDisk /dev/loopは無視します。 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes : : Disk /dev/nvme0n1: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors //<---私のブート(起動)ディスク Disk model: Hanye HE70-2TBNHS1 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 4CE02296-7710-4E6E-9298-F85D2AF0A71B : : Disk /dev/sda: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors //<---これが追加したSSDディスク Disk model: Patriot P210 204 Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes : :
パーティション作成
追加したSSD(今回の場合は、/dev/sda)にfdiskでパーティションを作成します。 /dev/sdaの部分は、それぞれの設定で異なる場合があるので絶対に間違えないように注意が必要です。 間違えるとそのディスク全ての情報が消去され復元できなくなります。
私の場合、/dev/sdaでしたが、コピペするとディスクを消去する危険があるので、ディスク書き込みの場合は以下から/dev/sdXXとして進めますので、あなたのデバイス名に読み替えてください。 情報読み出しの場合は/dev/sdaのままにしています。
$ sudo fdisk /dev/sdXX
フォーマット
Linuxの通常のファイル用のファイルシステムはext4なので、ext4を指定してフォーマットします。
$ sudo mkfs.ext4 /dev/sdXX
UUID確認
自動マウントにはUUID(Universal Unique Identifier)が必要なのでUUIDを調べます。(正確には、衝突確率は、約3*10^-35%) blkid(block ID)を使います。
$ sudo blkid /dev/sda /dev/sdXX: UUID="c6702d24-ecb7-48dc-92ef-3186b7fa71c0" TYPE="ext4"
もしパーティションがブートもある場合は、データ用のext4のパーティションを指定してblkidを実行しないとUUIDは表示されない。 私の場合、/dev/nvme0n1がブートとデータ用の2つのパーティションを持つディスクでした。 下の例では、p2(第2パーティションを指定しないとUUIDは表示されていません。
$ sudo blkid /dev/nvme0n1 /dev/nvme0n1: PTUUID="4ce02296-7710-4e6e-9298-f85d2af0a71b" PTTYPE="gpt" //<---UUIDが表示されない。 $ sudo blkid /dev/nvme0n1p2 /dev/nvme0n1p2: UUID="e1fe3005-95ac-452b-8e66-e0e416c10ea5" TYPE="ext4" PARTUUID="5248ba1e-6209-468f-84c3-3fe0f43f6312"
マウント用ディレクトリ作成
私の場合は、以下の様に作成。
$ sudo mkdir ~/ssd2
/etc/fstabに追加
『UUID=c6702d24-ecb7-48dc-92ef-3186b7fa71c0 /home/ichiri/ssd2 ext4 discard,defaults 0 2』を追加します。 行の先頭が#の部分はコメントです。
# /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/nvme0n1p2 during installation UUID=e1fe3005-95ac-452b-8e66-e0e416c10ea5 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/nvme0n1p1 during installation UUID=70B7-D473 /boot/efi vfat umask=0077 0 1 /swapfile none swap sw 0 0 # /home/ichiri/ssd2 is on /dev/sda UUID=c6702d24-ecb7-48dc-92ef-3186b7fa71c0 /home/ichiri/ssd2 ext4 discard,defaults 0 2
ここまで出来たら、再起動をしたら~/ssd2にSSDが追加されています。
~/ssd2にマウントされていますね。
$ df -h Filesystem Size Used Avail Use% Mounted on udev 32G 0 32G 0% /dev tmpfs 6.3G 2.5M 6.3G 1% /run /dev/nvme0n1p2 1.9T 389G 1.4T 22% / // 1つめのSSDはルートファイルシステムとしてマウントされています。 tmpfs 32G 224M 32G 1% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock : : /dev/nvme0n1p1 511M 6.1M 505M 2% /boot/efi /dev/sda 1.9T 4.8G 1.8T 1% /home/ichiri/ssd2 //<--------2つ目のSSDはここにマウントされました。 tmpfs 6.3G 52K 6.3G 1% /run/user/1000
(参考)特定のディスク確認
SATA接続の場合
$ sudo hdparm -I /dev/sda$ sudo parted -l /dev/sda: ATA device, with non-removable media Model Number: Patriot P210 2048GB Serial Number: P210ADCB2303080081 Firmware Revision: H220916a Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0 Standards: Supported: 11 9 8 7 6 5 Likely used: 11 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 268435455 LBA48 user addressable sectors: 4000797360 Logical Sector size: 512 bytes Physical Sector size: 512 bytes Logical Sector-0 offset: 0 bytes device size with M = 1024*1024: 1953514 MBytes device size with M = 1000*1000: 2048408 MBytes (2048 GB) cache/buffer size = unknown Form Factor: 2.5 inch Nominal Media Rotation Rate: Solid State Device Capabilities: LBA, IORDY(can be disabled) Queue depth: 32 Standby timer values: spec'd by Standard, no device specific minimum R/W multiple sector transfer: Max = 1 Current = 1 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set * Write cache * Look-ahead * WRITE_BUFFER command * READ_BUFFER command * NOP cmd * DOWNLOAD_MICROCODE * 48-bit Address feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test * General Purpose Logging feature set * WRITE_{DMA|MULTIPLE}_FUA_EXT * 64-bit World wide name * WRITE_UNCORRECTABLE_EXT command * {READ,WRITE}_DMA_EXT_GPL commands * Segmented DOWNLOAD_MICROCODE * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Gen3 signaling speed (6.0Gb/s) * Native Command Queueing (NCQ) * Phy event counters * READ_LOG_DMA_EXT equivalent to READ_LOG_EXT * DMA Setup Auto-Activate optimization * Software settings preservation$ sudo parted -l Model: ATA Patriot P210 204 (scsi) Disk /dev/sda: 2048GB Sector size (logical/physical): 512B/512B Partition Table: loop Disk Flags: Number Start End Size File system Flags 1 0.00B 2048GB 2048GB ext4 Model: Hanye HE70-2TBNHS1 (nvme) Disk /dev/nvme0n1: 2048GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 538MB 537MB fat32 EFI System Partition boot, esp 2 538MB 2048GB 2048GB ext4 * SMART Command Transport (SCT) feature set * SCT Features Control (AC4) * SCT Data Tables (AC5) * DOWNLOAD MICROCODE DMA command * WRITE BUFFER DMA command * READ BUFFER DMA command * Data Set Management TRIM supported (limit 8 blocks) * Deterministic read ZEROs after TRIM Security: Master password revision code = 65534 supported not enabled not locked frozen not expired: security count supported: enhanced erase 2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 5000000000002b6f NAA : 5 IEEE OUI : 000000 Unique ID : 000002b6f Checksum: correct
NVMe接続の場合
smartctlを使います。 uBuntuには標準でインストールされていないのでインストールします。
$ sudo apt install smartmontools //<----uBuntu, Debian系の場合 $ sudo yum install smartmontools //<--CentOS, RedHut系の場合
/dev/nvme0でも/dev/nvme0n1でも同じ情報が表示されます。 何と1ヶ月ちょっとで2.43TB書き込んでいますね。 RAMメモリが潤沢にありswapを使っていないので、全てLinuxビルドで毎回結構名量をSSDに書き込んでいるのですね。 TBW(TeraBytes Written) 1500TBなので、それが本当ならこの調子で続けても51年は持つ計算ですね。
$ sudo smartctl -a /dev/nvme0 smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-76-generic] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: Hanye HE70-2TBNHS1 Serial Number: 0900HE7007D01AE7 Firmware Version: HA02010B PCI Vendor/Subsystem ID: 0x1e4b IEEE OUI Identifier: 0x000000 Total NVM Capacity: 2,048,408,248,320 [2.04 TB] Unallocated NVM Capacity: 0 Controller ID: 0 Number of Namespaces: 1 Namespace 1 Size/Capacity: 2,048,408,248,320 [2.04 TB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 000000 0000000002 Local Time is: Mon Jul 3 10:54:20 2023 JST Firmware Updates (0x16): 3 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x001f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Maximum Data Transfer Size: 128 Pages Warning Comp. Temp. Threshold: 90 Celsius Critical Comp. Temp. Threshold: 95 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 6.50W - - 0 0 0 0 0 0 1 + 5.80W - - 1 1 1 1 0 0 2 + 3.60W - - 2 2 2 2 0 0 3 - 0.0500W - - 3 3 3 3 5000 10000 4 - 0.0025W - - 4 4 4 4 8000 45000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 43 Celsius Available Spare: 100% Available Spare Threshold: 1% Percentage Used: 0% Data Units Read: 1,453,257 [744 GB] Data Units Written: 4,755,477 [2.43 TB] Host Read Commands: 14,264,357 Host Write Commands: 24,837,964 Controller Busy Time: 25 Power Cycles: 48 Power On Hours: 358 Unsafe Shutdowns: 6 Media and Data Integrity Errors: 0 Error Information Log Entries: 0 Warning Comp. Temperature Time: 0 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 43 Celsius Temperature Sensor 2: 30 Celsius Error Information (NVMe Log 0x01, max 64 entries) No Errors Logged
(参考)パーティションを複数作成
個人的にはGpartedソフトを使うのが簡単と思います。 GUIで間違えにくい。
CLIなら
$ sudo parted /dev/sdXX //<---これで対話式になります。 (parted) mkpart Partition name? []? ssd2 File system type? [ext2]? ext4 Start? 0% End? 20% (parted) mkpart Partition name? []? ssd3 File system type? [ext2]? ext4 Start? 20% End? 100% (parted) p //<-----------確認 (parted) mkpart //<-----------終了 //各パ-ティションをフォーマット $ sudo parted -l //<-----------まず/dev/ディスク名確認 $ sudo mkfs.ext4 /dev/sdXX2 $ sudo mkfs.ext4 /dev/sdXX3
コメント