それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

広告フィルタ・ルールを統合して圧縮できる。

ああ、そうかAdguardのルールって1行1つじゃなくてもいいのか。

Adguardのブロックルール

example.tld##.class_a
example.tld##.class_b

だとすると

example.tld##.class_a, class_b

と書いても同じなのね。

これで行数を節約したり、記述を統合して場所ごとに管理しやすくできるわ。

迷惑広告が増えていてルールが増えていく

ad filter (広告フィルタ)の行数を節約したい。

iOSには上限がある。行数が多いと登録・更新に時間がかかる。ロード後のフィルタ適用が遅くなり、ページロード高速化のためにやってるブロックが読み込み速度を遅延させるという本末転倒が起きる。

adguard など iOSのフィルタルールは行数に制約があります。

iOSのフィルタルールにはバグが有り、本来の上限より、ずっと低い値しか入らないバグがあったりする。

https://adguard.com/ja/blog/adguard-v4-5-1-for-ios.html

行数の節約を考えて、ルールを見直していて気づいた。

行数を節約したり、あれこれ考えていて、「1行で複数にマッチする」ように書けばいいことに気づいた。

例えば、xpath

:xpath( /a or /b )

例えば、CSS

##.class_a, .class_b

うまくやれば、管理が楽になりそう。

LUKSなディスクを追加するコマンド

luks のディスクを作る

LUKSのディスクを作るときに、鍵ファイルや、スペア鍵、パスフレーズを設定するのがめんどうだったの手順をできる限り、簡素化して、スクリプトにまとめた

## デバイスを措定
DEV=/dev/sde  

## 鍵ファイルを用意
SPARE=/boot/keys/spare.keybin
KEY=/boot/keys/disk.keybin 
SECTOR=512
## パスフレーズを用意
PASS=$(cat /enc/pass |  openssl enc -d  -pbkdf2 -base64 -aes256)

## 鍵を3つ登録
##  --sector-size 注意する
sudo cryptsetup luksFormat --key-file=$KEY --sector-size=$SECTOR $DEV
sudo cryptsetup luksAddKey --key-file=$KEY --new-keyfile=$SPARE $DEV
sudo cryptsetup luksAddKey --key-file=$KEY $DEV < <(echo -n $PASS)

## テスト
sudo cryptsetup luksOpen --test-passphrase $DEV < <(echo -n "$PASS")
sudo cryptsetup luksOpen --test-passphrase --key-file=$KEY $DEV
sudo cryptsetup luksOpen --test-passphrase --key-file=$SPARE $DEV

## luks のIDを表示
sudo cryptsetup luksUUID $DEV

# Extract the model number and serial number using grep
hdparm_output=$(sudo hdparm -I "$DEV" )
model_number=$(echo "$hdparm_output" | grep -oP "Model Number: \K.*" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
serial_number=$(echo "$hdparm_output" | grep -oP "Serial Number: \K.*" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')
echo $model_number
echo $serial_number

## crypttab に登録
MAP_NAME=crypt-disk10

printf "%s UUID=%s %s luks,keyslot=0 # %s/%s %s \n" \
 $MAP_NAME $(sudo cryptsetup luksUUID $DEV) $KEY "$model_number" "$serial_number" $(date -I)

/etc/crypttab に書いたらテスト

暗号ディスクを展開する。

sudo cryptdisks_start crypt-disk10        
sudo cryptdisks_stop crypt-disk10        
sudo cryptdisks_start crypt-disk10        

既存のディスクを入れ替える。

既存のLVMに、組み込んで

sudo pvcreate /dev/mapper/crypt-disk10      
sudo vgextend data /dev/mapper/crypt-disk10   

既存のLVMのデータを移動させる

sudo pvmove /dev/mapper/crypt-disk05 /dev/mapper/crypt-disk10      

数TBあると時間かかるので、あとはのんびりと。

過去記事に書いた内容を整理整頓した。

windows がv6/v4 でping に応答しない。

windows はdefaultでping応答しない。

ファイア・ウォール設定で icmp echo の igress (inbound) を有効にする必要がある。

応答(icmp reply) については出ていくパケットに制限が掛かってないので特に設定の必要がなかった。

Core Networking の項目の中にあるので、探すのはちょっとめんどくさい。

v4もv6 もicmp echo を切られているので、ちょっとめんどくさい。

コマンドから

v4 の icmp echo を有効にする。

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow

icmp はオフにするものなの?

icmp echo をデフォルトでOFFにする理由ってなんなのでしょうか。百台規模でLAN組んでる組織なら自分で設定するべきだろうし、一般ユーザ向けOSでこの設定の意味がわからん。巨大なLANだとしてもスイッチやGWで切ってしまえばいいようなものだと思うんですが。

ping 応答しないのがセキュリティなんですかねぇ。icmp 応答拒否はデメリットも多いと思うんです。巨大なLANならともかく、小さいLANでping(icmpv4)を拒否しても、ARPは飛び交ってるわけで。ping拒否はセキュリティなんですかね。

Windowsは詳しくないけど、ping は 応答しないのが世間の常識らしい。従っておくしかないようです。

HDDの消費電力を測定する。

HDDの消費電力を測定する。

PCのCPU消費電力

今回は、n4200系統のCPUを用いた。

通常のPCのアイドリングの消費電力が5W未満-> 電力計で測定不可で0W表示

cpu と メモリでこれくらいの消費電力だった。 - sysbench memory run -> 7W - sysbench cpu run -> 9W

HDDを接続してみた

  • HDD接続 10W-15W
  • HDDがアイドル 7W
  • マウントして電源ON 10W
  • fio をぶん回す 13W
  • HDDアイドリング時 10W -HDDをスタンバイにする。0w
  • HDDにsleepを命令する。 7W

こんな感じでした。起動時の負荷は恐ろしくて、10w 近く起動時に必要だった。

4台接続したPCで起動時の一瞬だけ60Wを使っていた。CPUとファンが15Wくらいだから、HDD1台接続すると、起動時に12wが必要。電源が不足すると起動時にHDDが見つからなくてBIOSすら起動しなかった。

測定方法

測定方法には次のコマンドを用いた。電源消費電力は、ワットチェッカーとSwitcbotの両方で行った。

hdd にスリープを命令する

sudo hdparm -Y /dev/sdx

fio で測定する。

sudo mount /dev/sdb /mnt
cd /mnt
fio -filename=/mnt/test2g -direct=1 -rw=write -bs=4k -size=2G \
   -numjobs=64 -runtime=60 -group_reporting -name=file1

HDDをスタンバイにする。

sudo hdparm -S 0 /dev/sdb

マウント解除してスリープにする。

sudo umount /mnt
sudo hdparm -T /dev/sdb

SATAで接続して、ぶん回すと少し上がるけど、それ以外は極めて低い消費電力である。 高速なSSDのほうが電力をくってるかもしれない。

消費電力のまとめ

  • アイドリングで1-2W くらいだった。
  • ぶん回すと8Wくらいだった。
  • 起動時に10Wだった

つまり、倉庫仕様だと1台あたり、5Wもいかないということですね。

昔の情報だと、電源選びで80Plus関連を見ていると、25W/HDD1台だと書かれてたんだけど、そしてそれがコピされてて、25W位を見積もるみたいな事があったけど、どう考えても5Wで十分であるし、8W程度を見ておけばいいだろう。多めに見積もっても10Wである。起動時に電源を消費するので、10-15wで見積もれば良さそうだ。25wはやりすぎな見積もりだと思った。

8台のHDDを繋いだとしても常時にすべてのディスクに書きこむ(RAID5)でもすると、60WのACアダプタで賄えてしまう。のだが、、、起動時の負荷だけなんとか下げる必要があるよねぇ。

SSDが少なすぎ、HDDが多すぎでは?

ドスパラの自作PCサイトを見ると・・・SSDが3WでHDDが24Wだった。それは無いんじゃないの?って思うんですけどねぇ。

自動入力を妨害する最悪な実装(これセキュリティなの?)

銀行で自動入力を妨害するのは罪

ある銀行がパスワードの自動入力を妨害してくる。

自動入力が発動しないのでHTML調査

なんと、dummypass という passwordがありました。

自動入力のほうが安全です。

自動入力が危険だったのは「昔の話」です。昔は、自動入力のデータをウイルスに狙われました。今は、もう狙われません。というより、ウイルス感染の危険性がほぼゼロです。なんならiPhoneはすごく安全です*1

自動入力が安全な理由

主な利点は次の点です。

  • 自動入力は「フィッシングサイト」に気づける。
  • 自動入力は「複雑なパスワードを使える」
  • 自動入力は「ショルダーハッキングに強い」
  • 自動入力は「使い回し防止」になる
  • 自動入力は「入力前に顔認証」できる

とんでもなく、メリットが大きいです。使わない理由なんて無いんです。

自動入力妨害をしていたであろう理由はもうない

パスワードが盗まれるリスクがほぼ無いのですから、「自動入力を妨害する意味」はもう無いんですね。

デメリットの逆転

つまり、妨害により得られるメリットとデメリットの関係性が逆転しているのです。

技術の進歩によりセキュリティのメリット・デメリットが逆転しているのです。

いつまでも昔のテンプレをコピーして給与がもらえるとか、JTCは老害ですね。このダミー行為のために、「何人ものコンサルと上長と現場担当が会議をしている」と考えると恐ろしいですね。

セキュリティは棚卸しが必要

セキュリティは「リスクに応じて対策する」というのが基本です。昔のセキュリティ対策を見直しもせずに、コレが安全です。と利用者に提示するのは罪深いし、ましてやこっそり妨害行為とは許しがたいのです。

予算や知識がないのでなく、怠慢なのです。

過去の発見

自動入力は安全なのにいつまでも妨害する意味がわからない銀行たちの過去の記録など。

*1: サイドローディングという安全性を破壊する方法を日本政府は導入しようとしていますが、とても危険なことです。

Grep に'\K' という便利な書式がある。

Grep に'\K' という便利な書式がある。

look behind を使って、必要な場所を取り出すことができる。

(<?=xxx) を使った場合

ip -o addr show  dev br0 | grep -oP '(?<=inet )[\d.]+'

\K を使った場合

ip -o addr show  dev br0 | grep -oP 'inet \K[\d.]+'

\K の書式について

\K より前はマッチ結果に含まれない(マッチはチェックされる)

echo abcdefg | grep -oP 'abcd\Kefg'

\Kをつけることで、マッチ試行が行われるが、マッチ文字列には取り込まれない。

-o は、マッチマッチ結果を表示するオプション

だから、何かの後ろ にあるものを取り出すので look behinde expression (後読み)と呼ばれる。

関連資料

https://takuya-1st.hatenablog.jp/entry/2017/11/03/000000

CSSで隣接ノードの「先頭3つ」を取る。(自分の直後の3つ)

CSSの隣接ノードで、指定したIDの直後の3つまでを指定したい。

#id ~ div:nth-of-type(-n+3) {
 background-color:black; 
}
<div id="id"></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>

結果

ここから、隣接ノードで自分の直後の3つ(隣接ノードの中の先頭3つ)を選ぼうとしたら

#id ~ div:nth-of-type(-n+4) 

コレで、取れることがわかります。

メモ (2024-05-13)

ただし、has と組み合わせするとうまく動作しなかった。

css has と同じことをXPATHで実現したい。

css has と同じことをXPATH

子ノードにformを持つTableを探すことが:hasでできる

table:has( form[name='WebMeisai')

xpath:hasを記述とすると

document.xpath("//table[.//form[@name='WebMeisai']]")

これは過去に〇〇を持つ〇〇要素をXpathで抜くというXPATHを考えまくったことがあるので簡単だった。

たとえば、twitter の who to folllow あたり

##:xpath(//div[@data-testid="cellInnerDiv"][.//h2[@role="heading"][@aria-level="2"]]/following-sibling::div[position() <= 4])

CSSのHasの場合、兄弟ノードが動作不良だった。なので[position() <= 4]のようなことを書くことができない

xpath なら //id/a[position() <= 4]css なら #id ~ a:nth-of-type(-n+4) とかけてもいいはずなのだが、has といっしょに使うと思ったように動かないので困った。バクじゃね?

デフォルトのPDFのアイコンがEdgeとChromeで奪い合い

デフォルトのPDFのアイコン

C:\Program Files (x86)\Microsoft\Edge\Application

Google chrome は味気ないアイコン過ぎる

ひどいよね

アイコンを変えても、しばらくしたら、元に戻される。 Google Chromeに紐づけすると、頻繁に更新が来て、あっという間にもとに戻される。

名前も取られる。

PDFじゃなくて、MSEdgePDFという名前になる。

無理やり変えてもアップデートで

関連付けを変えてもアップデートで変更されるし

アイコンを変えてもアップデートで変更されるし

シェア奪い合いの戦争ならほかでやってほしい。

困ります。

なにかいい方法がないんですかねコレ。

暫定的対応法

FileTypesManでPDFを強引に変更する

MSEdgePDF -> ChromeHTMLに
アイコンを PDFに(PDFアイコンはEdgeかAdobeから取ってくる)

MSEdgePDF をChromeHTMLとしてコピーして上書きした。

PDFを変えた結果

その他の方法

今回は、FileTypesManを使ったが、他の方法もある。

PDFファイルをChromeに関連付けしたときのアイコンを変える #Windows - Qiita

snap なしで、firefoxをインストールする。

snapd を排除したい。

USBメモリubuntu を入れると、めっちゃsnapdがメモリやストレートを浪費して遅いので、firefoxdeb で入れたい。

そもそも、usbメモリubuntuインストールで、snapdを使いたくない。

snap なしで、firefoxをインストールする。snapdを消したい。

snap 版を消す。

snap を排除するのは以前やっている。

ubuntuから snapd(snap/snapcraft) を除去(アンインストール)て snapcraft 抜きのubuntuにする - それマグで!

firefoxのapt版(.deb版)を使えるようにする。

参考資料にしたがってやった

mozilla のppaを追加

sudo add-apt-repository ppa:mozillateam/ppa

ubuntu の場合firefoxはsnap 版が優先されるので、mozillaレポの.debを優先するように書き換え

echo '
Package: *
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 900
' | sudo tee /etc/apt/preferences.d/mozilla

アップデートして

sudo apt update && sudo apt upgrade 

インストール

sudo apt install firefox

今回は、USBメモリ・インストールなのでキャッシュをtmpfsにした。

echo tmpfs /home/takuya/.cache/mozilla tmpfs uid=$UID,defaults,nodiratime,noatime,mode=0700 0 0 | sudo tee -a /etc/fstab

参考資料

https://www.how2shout.com/linux/how-to-install-firefox-on-ubuntu-22-04-or-24-04-without-snap/

firefox のプロファイルをunionfs(+tmpfs)にして揮発性にして寿命を延ばし高速化する。

firefoxのプロファイルを揮発性(ramdisk)にする

USBメモリUbuntuをインストールし、LiveUSBのように使っているのですが、Firefoxを起動すると遅い。ファイルのキャッシュを作成するときに時間掛かっている模様。これはUSBの寿命にも良くない。

そこで、firefoxのキャッシュフォルダをtmpfs にした

tmpfs /home/takuya/.cache/mozilla tmpfs uid=1000,defaults,nodiratime,noatime,mode=0700 0 0

それでも、まだ遅い。書き込みを見ていると、プロファイルも大量に更新が入ってる。そうかクッキーやヒストリがプロファイル・フォルダに書き込まれるのか。

それなら、プロファイルもramdisk にしたいところ。

プロファイルのramdisk

プロファイルをramdisk 化すると、毎回初回案内が出てきてうざったいし、設定が残らないのも困るので、最低限設定しておいいて、初期設定済みのプロファイルにramdisk をかぶせ使う(unionfs)することにした。

次のようにフォルダを作って、unionfs で使うようにした

役割 変数名 パス
tmpfs volatile /home/$name/.mozilla/volatile
unionfs upper /home/$name/.mozilla/volatile/upper
unionfs work /home/$name/.mozilla/volatile/work
元プロファイル base /home/$name/.mozilla/firefox.base
unionfs merged /home/$name/.mozilla/firefox

最初に、tmpfs をつくって、そのなかにプロファイル格納用の揮発性マウントを作成。
unionfs はワーク領域が必要なので、最初に作ったtmpfs内部に作業エリアを設置。
揮発性マウントの下側に、baseとなるプロファイルをマウント。
揮発性マウントの中に、キャッシュを格納するマウントを追加。

まぁunionfs をためてしてみたかったというのがある。

これでメモリに書き込むfirefoxの設定とした。

ただ、とってもめんどくさいのでfstabに記載することを諦め、起動時に、自動的にマウントを作るようにした。

履歴を保存するときは、手作業でmerged の内容を base へcopy する。umount イベントで実行しようかと思ったけど、後回し。

/etc/systemd/scripts/firefox.mount.sh

#!/usr/bin/env bash

function mount_cache(){
  mount -t tmpfs tmpfs -o uid=$id,defaults,nodiratime,noatime,mode=0700 $cache_mozilla
}
function umount_cache(){
  grep -qs $cache_mozilla /proc/mounts && umount $cache_mozilla

}
function load_env(){
  name=$1
  id=$( id -u $name )

  cache_mozilla=/home/takuya/.cache/mozilla

  volatile=/home/$name/.mozilla/volatile
  upper=/home/$name/.mozilla/volatile/upper
  work=/home/$name/.mozilla/volatile/work
  base=/home/$name/.mozilla/firefox.base
  merged=/home/$name/.mozilla/firefox

  ibus=/home/$name/.cache/ibus
}

function mount_ibus(){
  mount -t tmpfs tmpfs -o uid=$id,defaults,mode=0700 $ibus
}
function umount_ibus(){
  grep -qs $ibus   /proc/mounts && umount $ibus

}

function mount_overlay_profile(){

  [ ! -e $volatile ]; mkdir -p $volatile
  mount -t tmpfs tmpfs -o uid=$id,defaults,nodiratime,noatime,mode=0700 $volatile
  [ ! -e $upper ]; mkdir -p $upper
  [ ! -e $work ]; mkdir -p $work
  mount -t overlay overlay -o lowerdir=$base,upperdir=$upper,workdir=$work $merged

}
function umount_overlay_profile(){
  grep -qs $merged   /proc/mounts && umount $merged
  grep -qs $volatile /proc/mounts && umount $volatile
}

function main(){
  name=$2
  [ -z $name ] && name=takuya
  load_env $name
  case $1 in
   mount)
     mount_cache
     mount_overlay_profile
     mount_ibus
     ;;
   umount)
     umount_cache
     umount_overlay_profile
     umount_ibus
     ;;
   *)
     echo "$0 [mount|umount]";
  esac
}


main $@

マウントを試してみる。

sudo /etc/systemd/scripts/firefox.mount.sh mount
findmnt 
sudo /etc/systemd/scripts/firefox.mount.sh umount
findmnt 

サービスを作って有効化

つくったスクリプトを呼び出すためにサービスとしてログイン時や起動時に実行することにした。

/etc/systemd/system/firefox-tmpfs@.service

[Unit]
Description=Mount %s firefox 
After=local-fs.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/systemd/scripts/firefox.mount.sh mount %s
ExecStop=/etc/systemd/scripts/firefox.mount.sh umount %s


[Install]
WantedBy=multi-user.target

有効化

sudo systemctl daemon-reload
sudo systemctl enable firefox-tmpfs@takuya.service

履歴の保存

明示的に保存するときは lower にコピーすればいい

rsync -av ~/.mozilla/firefox/ ~/.mozilla/firefox.base/ 

メリット

爆速。本当に速い。キャッシュ作成がブラウザの遅延の原因だとよく分かる。

長寿命。USBメモリMicroSDカードだと書き込みが本当に減るので寿命が長くなる。

懸念点

終了時に保存する方法に、いい方法があればいいんだけど・・・・

unionfs は実装が古いので、aufs やfsprotecで書ければよかったけど詳しくないので。

今回は、apt の firefoxを使っている。ubuntuのsnapstore 版のmozilla はこの方法だとうまくいかないかもしれない。

windowsのページファイルを無効にする。

ページファイルを無効にする。

ページファイルが邪魔なときがあります。(NTFSの縮小)

その時のために、ページファイルを無効・有効にする方法を調べた。

コマンドからの操作方法を記録に残す。

ページファイルを消す例

PS C:\WINDOWS\system32> wmic computersystem set AutomaticManagedPagefile=False
Updating property(s) of '\\DESKTOP-2ALDRO3\ROOT\CIMV2:Win32_ComputerSystem.Name="DESKTOP-2ALDRO3"'
Property(s) update successful.
PS C:\WINDOWS\system32> wmic pagefileset delete
Deleting instance \\DESKTOP-2ALDRO3\ROOT\CIMV2:Win32_PageFileSetting.Name="C:\\pagefile.sys"
Instance deletion successful.
PS C:\WINDOWS\system32>

ページファイルをもとに戻す(有効にする)

wmic pagefileset create name="C:\\pagefile.sys"
wmic computersystem set AutomaticManagedPagefile=True

再起動してもとに戻ったことを確認

PS C:\WINDOWS\system32> get-childitem -force -file C:\ | findstr sys
-a-hs-          06/03/20      3:36     5984890880 hiberfil.sys
-a-hs-          06/03/20      3:36     4563402752 pagefile.sys
-a-hs-          06/03/20      3:36       16777216 swapfile.sys

ページファイルは便利?不便?

基本的にメモリ増設を

昔は、ページファイル(スワップ)があるとPCが遅くなるから消したほうがいいよって言われたけど、それはHDDがガリガリしていた昔の時代だし。今は、nvmeがあるから使ったら良いんだけどSSDの寿命には影響すると思う。

ただ、メモリ64GB搭載してもお手頃価格出し、32GB搭載しても1万円くらいなので、ページファイルを無効にしてメモリガン積みもありですよね。

高速なSSDを用意するより、追加メモリを買いましょう

ページファイル使用率を見てみて考えてもいいと思う。

っていうか、どうせChromeのキャッシュでしょ。

参考資料

https://hnakamur.github.io/blog/2018/04/02/delete-unmovable-files-to-shrink-windows10-partition/

NTFSを縮小できない。

NTFS の縮小(Shrink)がWindowsでできなかった。

WindowsNTFSを縮小しようとしたら、エラーになった。

以前のパーティーション作成時に計算をミスって200GBのつもりが、200.5GB位になっていて、正確に200GBにしたかった。サイズ変更をしようとしたらエラーだった。

結論

pagefile.syshibfile.sys が邪魔をしている。

ページファイル(スワップ)がメモリの代替に使うために、trim(defrag)の対象になり、移動ができない。移動ができないから同じ場所に居続けるので、縮小を妨害していた。

当たり前といえば当たり前だけど、Windowsをしばらく真剣に使っていなかったのですっかり忘れている。

hibfile.sysハイバネーション(休止状態)のファイルだから、休止状態を一時的に無効化すればファイルは削除されて問題なくうごく

ページファイルの無効化を試して無事にNTFSを縮小することができた。

調査記録

イベントログを見て、259エラーを探した。

Wordpad(ワードパッド)のアンインストールができるんだ。

Wordpadはアンインストールできる。

知り合いと雑談していて、まじかよ。って驚いたので、試してみた。

追加機能からアンインストールできた。

コマンドから消そう

Wordpad 消そう

dism / Online / Remove-Capability /CapabilityName:Microsoft.Windows.WordPad 

まじか、wordpadってウインドウズには絶対に入ってる機能だと思ってたんだけど、もう必要とされないので消せるんですね。個人的にはマクロが使えない安全なワードだと思ってたんだけど、もう無いんですね。なんか寂しいですけどスッキリしてよいです。

GdiskのWindows版を動かす。

Gdisk のWindowsを動かす。

msys/cygwin のgdisk や、wsl のgdisk でもいいのだけど、windowsにはWindowsのdiskpartの流儀もあるだろうけど、GPTを触りたいときに、やっぱり使い慣れたgidiskで直接触れたほうが安心なので、調べることにした。

ダウンロード

gdisk の windows版ダウンロードしてきて動かす

配布サイトはsourceforgeだった。https://sourceforge.net/projects/gptfdisk/

コマンドで実行

管理者権限のコマンドから動かす。

.\gdisk4.exe \\.\physicaldrive0

ドライブの指定方法

physicaldrive0 のようにゼロ始まりで指定する。

\\.\physicaldrive0

一瞬見慣れない記号が並んでいますが、よくみると、/dev/sda ってことですね

physicaldrive0って、dev で ブロックデバイス /dev/sd で最初のもの 0=a ですね。

その他の場合は

\\.\PhysicalDrive0 =\Device\Harddisk0\Partition0 
\\.\PhysicalDrive1 =\Device\Harddisk1\Partition0 
\\.\PhysicalDrive2 =\Device\Harddisk2\Partition0 

物理ドライブ以外はどうするのか。ってのは一旦マウントしてかららしい。

末尾にパーティションをつくる

コレは、いつものgdisk

1000215216-1024*1024*1024/512=998118064

First sector (34-1000215182, default = 610023424) or {+-}size{KMGTP}: 998118064
Information: Moved requested sector from 998118064 to 998117376 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (998117376-1000215182, default = 1000215182) or {+-}size{KMGTP}:
PS C:\Users\takuya\Desktop>

実際のコマンドの例

見ての通り、Windowsでもgdisk です。使い慣れたgidksです。実家のような安心感。

参考資料