回復ドライブの再作成...

事のついで、回復ドライブも作り直しておくか... たぶん16GBのメモリーを要求されるんだろうな..ということで、どうやって作成するんだっけ?ってところから始まりました(^^;

回復ドライブの作成は、コントロールパネル→回復ですね。私、カテゴリー表示キライなので、むかーしむかしのWindowsから慣れ親しんでいる、大きいアイコン表示です:-)
別に、1画面に収まるし、分類別けされて、手数が増えるよりも、圧倒的に効率的。

この中に「回復ドライブの作成」というのがあるので、それに従ってやるのですが...
この PC では回復ドライブを作成できません
と出ました。困った。

今回は
https://arakoki70.com/?p=5269
こちらさんのお世話になりました。

ふむふむ
disk-mnagment-w0.jpg
#クリックすると大きくなります。
確かに、回復パーティションが2個ある。なんでだ???
管理者権限のコマンドプロンプトで確認してみると...

> reagentc /info
これまたDisabledになってる...

作れない理由は分かりました。
しょうが無いので、記載されている内容に従って、どうにかするのですが、どっちもデフォルトサイズでは無いようです。まずはパーティション1(先頭のパーティション)から試しました。

> diskpart
DISKPART> select disk 1(数字は構成に寄ります)
DISKPART> select partition 1
DISKPART> assign letter=r:
DISKPART> exit
> r:
> dir
あれ?なんもない...
どうやらハズレです。この状態でreagentcコマンドを叩いても、エラーで終わります。
ということで、パーティション5が回復ドライブっぽいです。

> diskpart
DISKPART> select disk 1
DISKPART> select partition 1
DISKPART> remove letter=r:(まずは、ドライブレターの割り当てを削除)
DISKPART> select partition 5
DISKPART> assign letter=r:
DISKPART> exit
> reagentc /setreimage /path r:\Recovery\WindowsRE /target C:\Windows
> reagentc /enable
> reagentc /info
これでEnabledになったことを確認します。
確認出来たら...

> diskpart
DISKPART> select disk 1
DISKPART> select partition 5
DISKPART> remove letter=r:
DISKPART> exit
して、回復ドライブの作成に進みます。
が、やっぱ、16GBを要求されました。どこから16GBになったんだろう... 最初の頃は8GBで十分だったので、うちには8GBのUSBメモリーしかなく、DELL XPS13用にもしょうが無く買ったぐらいなので、他に余りはありません(^^;
ということで、現在取り寄せ中。
あとは、いらないパーティション、どうするかだな... いじると、また面倒なことになりそうなので、消すだけにしておこうと思います。回復ドライブ作り直したら。

BCD Error...

水曜日、ちょっと確認したいことがあり、迂闊にも、なーんも考えずに、Desktop PCのI/F Cardの組み換えを行いました。
これが、疲れる原因のきっかけでした...

電源再投入で立ち上がらんのですよ...
慌てて、元の構成に戻したのですが、BIOS設定見てみると、SSDのRAIDが見えないし、1台SSDが見えない...
この時点では大して焦ってはいなかったのですが、元に戻す設定を忘れてて(^^; あれこれ、試している間に、片肺で立ち上がろうとしてたので、強制シャットダウン...
多分、これが最後の引き金を引いたものと思われます。

ようやく、元の構成に戻ったので、立ち上げようとしたら...
bcd-error-0.jpg
まぢ?
ということで、ここで、漸く全容を把握して、相当焦りましたよ。
修復画面も出てこないし...

こうなると回復ドライブから立ち上げて、修復するしかないんですね。
まあ、それは作ってあったので問題なし。
立ち上げて、修復を試みるも...
bcd-error-1.jpg
あちゃーーーーーーー

一応、コマンドプロンプトで、データは残っているのは確認したので、最悪、1台潰して、クリーンインストールして、もう1台をバックアップして、復旧させればいいやまで覚悟して、他に手がないか、ぐぐりました。
スマホでもいいんですけど、字が小さくて... iPadでもNote PCでもいいですが、やっぱ検索はPCに限ります。
DELL XPS13を買っといてよかったです:-)

んで、回復ドライブでコマンドプロンプトを出してUFEIな場合は

> C: (boot driveがC:じゃない場合は、そのドライブ)
> bootrec /rebuildbcd
っておまじないを打てばいいんですが、どうもうまくいっていないっぽい...
なぜならば、最後にインストールををブート一覧に追加しますか?と聞かれて、お願いっ!て答えても、「指定されたパスが見つかりません」と言われて、実際、再起動しても立ち上がらないから...

こういう時は、bootrecの代わりに

> bcdboot C:\Windows /l ja-jp
とすることで、問題が解決されます。
水曜日は、ここまでこぎつけて、朝までRAID0の再構築をやらせるところで力尽きました(^^;
次の日、会社に行っている間に、RAID0ボリュームのエラーチェック&修復。
これで、復旧。

https://qiita.com/u-sho/items/39833d5a1e07a59410c0

こちらさんのお世話になりました。助かりました。

さて、今週も乗り切りました。明日は大舟に乗った気分でいられるといいなぁ...

ちなみに、確認したかったことは、先が見えたところで、ちゃっかりやっちゃってます:-)
最終構成に向けて、I/F CardのSlot位置も変更したし。

netshコマンドの使い方(一部)

Power Shellのコマンドって、洗練されてないよなーって事で、あんま深入りすることもないのですが、必要なときには使わないとしょーがないので。

でですねnetstat -rでUNIX宜しくrouting tableを表示してくれます。
いいところは、オプションをしなくてもIPv6も表示してくれるところ。
一方でrouteコマンドはroute printしないとダメです。UNIXならrouteだけでいいのに。
こちらも表示した結果はnetstat -rと同じになります。
ipconfigにしろ、びみょーにUNIXと異なるのは、どうにかして欲しいんですね。昔から思いますが。

んで、この記事の本題。
前の記事
https://straycats.blog.ss-blog.jp/2021-01-03
の続きです。

そもそもはipconfigでは見れない、IPv6の設定状況を確認するところから始まりました。
設定確認なら、普通にPower Shellを開いても利用出来ますが、例えばrouting tableを変更しようとする場合は、管理者権限で開く必要があります。
sudoよろしく、runasで同じようなことが出来ます。

まずはIPv6の設定状況の確認。

> netsh interface ipv6 show interface

Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 75 4294967295 connected Loopback Pseudo-Interface 1
17 5 1500 disconnected イーサネット 2
13 5 1500 disconnected イーサネット 3
21 25 1500 connected VirtualBox Host-Only Network
50 5000 1500 connected vEthernet (WSL)
8 15 1500 connected イーサネット 6
こんな感じでネットワーク接続の一覧が表示されます。
一番左端のIdxの数字がI/Fを指定する番号です。

ちなみに

> netsh interface ipv6 show
とか、netshが理解可能な所まで打ち込めば、その状況に応じたコマンドの使い方

使用できるコマンドは次のとおりです:

このコンテキストのコマンド:
show addresses - 現在の IP アドレスを表示します。
show compartments - コンパートメント パラメーターを表示します。
show destinationcache - 宛先キャッシュ エントリを表示します。
show dnsservers - DNS サーバー アドレスを表示します。
show dynamicportrange - 動的ポート範囲の構成パラメーターを表示します。
show excludedportrange - すべての除外ポート範囲を表示します。
show global - グローバル構成パラメーターを表示します。
show interfaces - インターフェイス パラメーターを表示します。
show ipstats - IP 統計情報を表示します。
show joins - 参加したマルチキャスト グループを表示します。
show neighbors - 近隣キャッシュ エントリを表示します。
show offload - offload 情報を表示します。
show potentialrouters - 利用可能なルーターを表示します。
show prefixpolicies - プレフィックス ポリシー エントリを表示します。
show privacy - プライバシー構成パラメーターを表示します。
show route - ルート テーブル エントリを表示します。
show siteprefixes - サイト プレフィックス テーブル エントリを表示します。
show subinterfaces - サブインターフェイス パラメーターを表示します。
show tcpstats - TCP 統計情報を表示します。
show teredo - Teredo 状態を表示します。
show tfofallback - ネットワーク単位に TCP Fastopen フォールバック状態を表示します。
show udpstats - UDP 統計情報を表示します。
が表示されますが、理解出来ない場合、例えば...

> netsh interface ipv6 shoq
次のコマンドは見つかりませんでした: interface ipv6 shoq
とつれない返事を返してきます。
Power Shellのコマンドって、階層構造になってて、ヒストリー機能を使えど、打ち込み文字数多いし、何か指定するのに、覚えにくい数字を使ってと言うのが多いと思います。
直感的じゃ無いんですよね。

気を取り直してIdx 8の設定を見てみましょう。

> netsh interface ipv6 show interface 8

インターフェイス イーサネット 6 パラメーター
----------------------------------------------
IfLuid : ethernet_32780
IfIndex : 8
状態 : connected
メトリック : 15
リンク MTU : 1500 バイト
到達可能な時間 : 38000 ミリ秒
基本の到達可能な時間 : 30000 ミリ秒
再転送間隔 : 1000 ミリ秒
DAD 転送 : 1
サイト プレフィックスの長さ : 64
サイト ID : 1
転送 : disabled
アドバタイズ : disabled
近隣探索 : enabled
近隣到達不可能性検出 : enabled
ルーター発見 : enabled
管理されたアドレス構成 : enabled
その他のステートフル構成 : enabled
脆弱なホストによる送信 : disabled
脆弱なホストによる受信 : disabled
自動メトリックの使用 : enabled
既定ルートを無視 : disabled
アドバタイズされたルーターの有効期間: 1800 秒
既定ルートのアドバタイズ : disabled
現在のホップ制限 : 64
ARPND スリープ解除パターンの強制 : disabled
指定の MAC スリープ解除パターン : disabled
ECN 機能 : application
RA ベースの DNS 構成 (RFC 6106) : enabled
DHCP/静的 IP の共存 : enabled

こんな感じ。

今でこそ

管理されたアドレス構成 : enabled
その他のステートフル構成 : enabled
となってますが、ふつーは

管理されたアドレス構成 : disabled
その他のステートフル構成 : enabled
となってるはずです。
これがradvd使ってネットワーク上にRAを流した結果disabledがenabledに変わってます。

お次は、routing tableの見方、変え方です。

> netsh interface ipv6 show route

発行 種類 Met プレフィックス Idx ゲートウェイ/インターフェイス名
------- -------- --- ------------------------ --- ------------------------
いいえ Manual 256 ::/0 8 fe80::ooo5:ppp5:qqq5:rrr5
いいえ Manual 256 ::/0 8 fe80::ooo6:ppp6:qqq6:rrr6
いいえ System 256 ::1/128 1 Loopback Pseudo-Interface 1
いいえ Manual 256 aaaa:bbbb:cccc:dddd::/64 8 イーサネット 6
いいえ System 256 aaaa:bbbb:cccc:dddd:eeee:fff0:ggg0:hhh0/128 8 イーサネット 6
いいえ System 256 aaaa:bbbb:cccc:dddd:eee1:fff1:ggg1:hhh1/128 8 イーサネット 6
いいえ System 256 aaaa:bbbb:cccc:dddd:eee2:fff2:ggg2:hhh2/128 8 イーサネット 6
いいえ System 256 aaaa:bbbb:cccc:dddd:eee3:fff3:ggg3:hhh3/128 8 イーサネット 6
いいえ System 256 ZZZZ:YYYY:XXXX:WWWW::/64 8 イーサネット 6
いいえ System 256 ZZZZ:YYYY:XXXX:WWWW:192:168:iii0:jjj0/128 8 イーサネット 6
いいえ System 256 ZZZZ:YYYY:XXXX:WWWW:192:168:iii1:jjj1/128 8 イーサネット 6
いいえ System 256 ZZZZ:YYYY:XXXX:WWWW:kkk0:lll0:mmm0:nnn0/128 8 イーサネット 6
いいえ System 256 ZZZZ:YYYY:XXXX:WWWW:kkk1:lll1:mmm1:nnn1/128 8 イーサネット 6
いいえ System 256 fe80::/64 13 イーサネット 3
いいえ System 256 fe80::/64 17 イーサネット 2
いいえ System 256 fe80::/64 8 イーサネット 6
いいえ System 256 fe80::/64 21 VirtualBox Host-Only Network
いいえ System 256 fe80::/64 50 vEthernet (WSL)
いいえ System 256 fe80::ooo0:ppp0:qqq0:rrr0/128 21 VirtualBox Host-Only Network
いいえ System 256 fe80::ooo1:ppp1:qqq1:rrr1/128 13 イーサネット 3
いいえ System 256 fe80::ooo2:ppp2:qqq2:rrr2/128 50 vEthernet (WSL)
いいえ System 256 fe80::ooo3:ppp3:qqq3:rrr3/128 8 イーサネット 6
いいえ System 256 fe80::ooo4:ppp4:qqq4:rrr4/128 17 イーサネット 2
いいえ System 256 ff00::/8 1 Loopback Pseudo-Interface 1
いいえ System 256 ff00::/8 13 イーサネット 3
いいえ System 256 ff00::/8 17 イーサネット 2
いいえ System 256 ff00::/8 8 イーサネット 6
いいえ System 256 ff00::/8 21 VirtualBox Host-Only Network
いいえ System 256 ff00::/8 50 vEthernet (WSL)
な感じで表示されます。
netstat -rを、インタフェース名付で表示してくれるだけで無く、こちらでしか表示されないモノもあるようです... なんなんだ...

まあ、この例は固定IPアドレスで運用しているPCの情報なのですが、自分で設定していないモノまでたくさん出てくるし、固定IPアドレスなんだけど、自動的に振られるアドレス(aaaa:bbbb:cccc:dddd::/64やfe80::/64なprefixのアドレス)もあったりして、よく分からんです。
慣れれば&完璧に理解出来れば、そうでも無いのかもしれないけど、IPv4の直感的なわかりやすさは無いですね... アドレス空間の大きさが違いすぎるし(^^;

なお、RAのM-flagをONにして、無理矢理IPアドレスの配布をしなくても、name serverのアドレスを流してあげて、そのサーバーへの到達経路さえ設定出来れば、実はそれでもOK。
固定IPアドレスなPCでは、

いいえ Manual 256 aaaa:bbbb:cccc:dddd::/64 8 イーサネット 6
この経路情報が勝手に付与されるのですが、DELL XPS13で実験をしていたとき、アドレスは取れたものの、この経路情報が設定されていないことに気が付きました。
それじゃ、パケットが到達しないよね。

これを、手動で無理矢理追加するのには管理者権限なPowerShellかrunasで管理者権限に昇格して

netsh interface ipv6 add route aaaa:bbbb:cccc:dddd::/64 Idx
とかしてIdxに設定したいI/F番号を指定してあげると出来ます。
route printコマンドでも、頭の方にI/F番号の情報は出てくるので、同じように出来るのですが、表示される経路情報にnetshコマンドとの結果の差異があったので、netshコマンド使ってやってみた結果の記録です。
今回、念のため手動でdeleteしても、再起動でアドレス取得と一緒に自動で必要な経路情報が設定させるところまでは確認しました。

さて、これで、年末年始にやりたかったことは実現出来たので、次はbind9を入れてname serverの二重化とかやりますか。

WSL2でUbuntu 20.04 LTS

事のついで。Windows 10 2004なのをいいことにWSL2(Windows Subsystem for Linux Version 2)を利用して、Ubuntu 20.04 LTSを導入してみました。
ちょーお手軽:-)

https://qiita.com/whim0321/items/ed76b490daaec152dc69
こちらのサイトによくまとめられています。ここに書いたとおり実行して、ついでにWindows Terminalもインストールすれば、ばっちし!
ま、本家の
https://docs.microsoft.com/ja-jp/windows/wsl/install-win10
コレ見ても出来るっす。

とりあえず記録のために、こっちにも書いておくと...
Windows PowerShellを管理者として開いて

> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all
これで一旦、再起動させて..
もいっかい、PowerShellを管理者として開いて

> wsl --set-default-version 2
としておく。

このあと、Microsoft Storeを開いて、WSLで検索。
いろいろなdistributionがありますが、Ubuntu 20.04 LTSを選択、入手して起動すれば。おしまい。
Windows Terminalもついで入手しておきました。

んで、shutdownコマンドは使えず

$ wsl.exe -t Ubuntu-20.04
とかやると、Ubuntu-20.04なるインスタンスだけkill出来ます。
再起動はWindows Terminalとかでつなぎに行くか、Ubuntu 20.04 LTSをクリックするだけ。
瞬時に立ち上がります。

そりゃ、ほとんどプロセスを起動しなきゃ、早いよな...
systemdが動いていないので、自動起動系はことごとくダメ。

なお、Windows PowerShellから叩くときも全く同じ。どっちか区別することもないし、wslと叩くと、デフォルトインスタンスに繋がっちゃうと言う、お手軽さ。
どんなインスタンス(ディストリビューション)があるか?起動状態はどうか?を見るには

$ wsl.exe -l -v
とすればよし。
詳しくは--helpオプション付ければよしです。

そうはいっても、TeraTermで使いたい!
そもそもWindows Terminalはどうやって繋がってるんだろう?なんてところには、深入りせず(^^;
こちら
https://w.atwiki.jp/ohden/pages/864.html
を参照。
sshd動かしてlocalhostに繋げばよし。
うーん、複数同時にとか、Windows自身でsshd動かすときは、どうするんだろう?なんてことも、深入りせず(^^;

キーを作成して、設定変更して、サービスを起動すればOK。

$ sudo ssh-keygen A
ってしたら/etc/ssh/sshd_configの中のPasswordAuthenticationをyesに変更。
でもって

$ sudo service ssh start
でエラー無しで立ち上がったら、TeraTermでつなぎに行けます。

問題は、毎回、立ち上げたコンソールでこれを叩かないといけないこと...
とりあえず、動かすインスタンスが一つしか無ければ、Windows PowerShellというか、バッチファイルを一つ作って

wsl -u root -- service ssh restart
と叩くといいようです。スタートアップにおいておけば、ログオン時に勝手に立ち上がるし...
WSL2は、なにげにおもろいので、またそのうち。

今更ながら、Windows 10のnslookupの変な挙動

DELL XPS13が来て、色々ネットワーク設定の不備に気づく始末orz
まずはWi-Fi接続で、Web pageは表示出来たりするのに、Windows Updateがエラーになったり...
接続診断してみるとDNS系がおかしいと。

あ~IPv6が...
DHCPv6はいないので、リンクローカルベースの運用な所に、おうちのWindows Serverにアクセスするためのnameserverをしていしていました。prefixが違うので、アクセス出来ない...
さらに、2ndryで設定していたrouterのIPv6アドレスも間違ってて、名前解決出来ず。

んでもって、今のNTT東から借りてるrouterではDHCPv6が動かない。
払い出し状況だけ確認出来る、ワケワカラン仕様。

じゃ、Wi-Fi APにやらせるかと思ったらbridge modeじゃ使えない。
local router modeにしてみたけど、prefixが指定出来ない&アドレスレンジも指定出来ない...

ということで、八方塞がり。
別途、Windows Server以外でDHCPv6 Serverを立てる事を決意して、とりあえず、IPv4もIPv6も素のdhcp client状態にしたのですが、普通のdns lookupもまともに出来ないことが判明。
それでもweb browserからは外に出れる。

何がおかしいかというと...
nslookup www.so-net.ne.jp
とかすると、www.so-net.ne.jp.localdomain-nameで検索しに行っていることが分かりました。
今更感たっぷりですが(^^;

これ、Windows AD domainに参加させると、こうなるのね。
初めて知った。

これを解決するには
https://techracho.bpsinc.jp/baba/2010_02_26/1155
こちらに書いてある様に、ネットワークの設定で、アダプターのオプションを変更するから、対象のアダプターのTCP/IPのプロパティを開いて、詳細設定からDNSのタブで、「以下のDNSサフィックスを順に追加する」を選択して
localdomain-name
を指定すると、解決します。

んで、この設定、どのアダプターで変更しても、IPv6 or IPv4だけ変更しても、全部に反映されるのね...
個別に設定画面がある理由が、よく分からず。

■2021/1/2追記
前述の設定だと、外部のname serverを利用したときに、あいかわらずwww.so-net.ne.jp.localdomain-nameで検索しに行く事が判明...
もちろん、最後をピリオドで締めれば、検索出来ますが、通常は付けないよな...
詳細設定からDNSのタブで、「以下のDNSサフィックスを順に追加する」を選択して
. (ピリオドだけ)
localdomain-name
の順に指定すると、解決します。
ただし、こうすると、内部のname serverを使って内部のサーバーをhostnameだけで解決しようとしても、見つかりません... といわれます。
もちろん、FQDNにすれば見つかります。
ま、これでもエクスプローラーからは \\hostname で参照出来るからいっか...

さらにおまけ... Windows Server 2012R2も一緒ね... orz

Windows Update Assistant Toolの進化

うちにはIntel Compute Stickがあります。
32-bit ATOMで2GBしかメモリーが無い奴。
1909で放置してあったのですが、1年ぶりに更新。
ついでに20H2にしてやるかと思ったのですが、Windows Updateでは降ってこず。

ということで
https://www.microsoft.com/ja-jp/software-download/windows10
こちらのツールをダウンロードして、強制的にUpdateをしたところ...
winupd202h-w.jpg
#クリックするとでかくなります。
こんな表示が出て、16GBのSDカードを入れてあげるとアップデートが出来ました:-)

クリーンナップして、過去のUpdateファイルを消しても、もう、単独ではUpdateできないようになってしまったことの裏返しですが、外部記憶を使ってUpdate出来る様になったのは、進化だと思います。

で、思いのほか、BrowserでWeb accessするだけなら、サクサク動くのですよ。
FHDのTVのHDMIに挿して、お気楽に使う分には十分です。
これ以外は、ムリかな...

Windows 10 2004で再びTeaming

さて、OS本体のUpdateが終わったら、再びTeaming設定をして元に戻しておしまいなのですが、事のついで、こちらのIntel ethernet driverを25.2に更新。

そしたらですよ!
intel-teaming-2004-0w.jpg
一緒にインストールされるIntel PROSet Adapter Configuration UtilityでTeaming設定ができるじゃないですか!!

intel-teaming-2004-1w.jpg
長ったらしいインターフェース名をコマンドラインで打たなくてもいいのは、らくちん!

そんなわけで、あっという間に
intel-teaming-2004-3w.jpg
Teaming復活:-)
あとは、IPアドレス設定を元に戻して終了。
ちなみに、ディバイスプロパティには「構成」メニューは出てこないので、サーバーのように統合されていない状態に変わりないです。
それにしてもIntel様様です。

この後、自動UpdateなRouterを除く、さぼりまくってた他のネットワーク機材のfirmware updateを一通り行って、本日の時間つぶしは終了。
SwitchがUpdateから復帰してこなくてびびったけど、電源抜き差しして復旧。よかった~

これで、残るはSurface Pro 2だけ。無理してUpdateする必要もないので、気長に待ちますか:-)