samba 4.23.3 で立てたActive Directoryサーバの機能レベルが2008R2から動かせない件を修正する

ESXi8 Free環境上に Active Directoryサーバを立てるか、と、AlmaLinux 9 で samba 4.23.3 をソースからコンパイルして構築した

# /usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
Realm [ADSAMPLE.LOCAL]:
Domain [ADSAMPLE]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
DNS forwarder IP address (write 'none' to disable forwarding) [8.8.8.8]:  8.8.8.8
Administrator password:
Retype password:
INFO 2025-11-10 14:24:37,370 pid:1551 /usr/local/samba/lib64/python3.9/site-packages/samba/provision/__init__.py #2112: Looking up IPv4 addresses
<略>
INFO 2025-11-10 14:24:49,826 pid:1551 /usr/local/samba/lib64/python3.9/site-packages/samba/provision/__init__.py #501: DOMAIN SID:            S-1-5-21-1830428519-1651848948-1698044471
#

これで起動したActive Directoryサーバのフォレストレベル / ドメインレベル は下記の様にWindows 2008 R2 となっていた。

# samba-tool domain level show
Domain and forest function level for domain 'DC=adsample,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
#

これをアップグレードしようと samba-tool domain level raiseコマンドを実行してみてもエラーとなる。

# samba-tool domain level raise --forest-level=2012_R2
ERROR: Forest function level can't be higher than the domain function level(s). Please raise it/them first!
# samba-tool domain level raise --domain-level=2012_R2
ERROR: Domain function level can't be higher than the lowest function level of a DC!
#

これはデフォルトのsamba設定で”ad dc functional level”が2008R2までとなっているからそういうことになっているのだという(参考:Samba domain controller: raising (all kinds of) level)

testparamコマンドを実行して現在の設定値を確認する

# /usr/local/samba/bin/testparm -s --section-name=global --parameter-name="ad dc functional level"
Load smb config files from /usr/local/samba/etc/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

2008_R2
#

現状の /usr/local/samba/etc/smb.conf に記載はないが、 samba設定としては 2008_R2 として認識されている、ということを確認出来た

この結果を受けて/usr/local/samba/etc/smb.conf のglobalセクションに「ad dc functional level = 2016」という記述を追加する

# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
        dns forwarder = 8.8.8.8
        netbios name = ADSERVER
        realm = ADSAMPLE.LOCAL
        server role = active directory domain controller
        workgroup = ADSAMPLE
        idmap_ldb:use rfc2307 = yes
        ad dc functional level = 2016

[sysvol]
        path = /usr/local/samba/var/locks/sysvol
        read only = No

[netlogon]
        path = /usr/local/samba/var/locks/sysvol/adsample.local/scripts
        read only = No
#

testparamで記述が反映されているかを確認

# /usr/local/samba/bin/testparm -s --section-name=global --parameter-name="ad dc functional level"
Load smb config files from /usr/local/samba/etc/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

2016
#

sambaを再起動して、機能レベルがどうなったのかを確認

# systemctl restart samba-ad-dc
# samba-tool domain level show
Domain and forest function level for domain 'DC=adsample,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2016
#

Lowest function level of a DC が変更されたので、上2つも変更できるようになった

まずはドメインの機能レベルを変更

# samba-tool domain level raise --domain-level=2012_R2
Domain function level changed!
All changes applied successfully!
# samba-tool domain level show
Domain and forest function level for domain 'DC=adsample,DC=local'

Forest function level: (Windows) 2008 R2
Domain function level: (Windows) 2012 R2
Lowest function level of a DC: (Windows) 2016
#

続いてフォレストの機能レベルを変更

# samba-tool domain level raise --forest-level=2012_R2
Forest function level changed!
All changes applied successfully!
# samba-tool domain level show
Domain and forest function level for domain 'DC=adsample,DC=local'

Forest function level: (Windows) 2012 R2
Domain function level: (Windows) 2012 R2
Lowest function level of a DC: (Windows) 2016
#

これで問題なくなった。

GMKtec NucBox G10 miniを買った

先日導入したTRIGKEY MINI PC Key Nに32GBメモリを増設したESXi 8サーバの運用状況がいい感じだったんですが、32GBだとHPE VM Essentialsの3ノードクラスタが立てられない

5月に買ったDDR4 SO-DIMM 32GB 2枚を使えるミニPCはないかなぁ、と探していたところ、GMKtec NucBox G10 miniが候補にあがった。

Ryzen 5 3500Uと、微妙に新しくは無いCPUなので敬遠してたのですが、大きさがいまのTRIGKEY MINIより小さい(まあ、電源内蔵のTRIGKEYと、外付けのG10 miniの違いとも言えますが)

ということで、Amazonで売ってたRAM 16GB+SSD 256GBモデルを 23,998円で購入(セール終わったら28999円になっていました)

ちなみにAliexpressではメモリ/SSDなし、電源はEUタイプで約2万円で売っています

今回の注文については、いろいろな問題がありましたが、なんとか解決し、到着

出してみるとコンパクトですね

上面はネジ止めされていない、蓋がツメでとまっているタイプなので、うまいこと外します

ヒートシンク付きのSSDの下側にWiFi/BluetoothのRTL8822CEがありました

裏面はゴム足を取るとネジが4つあるので、それを外して蓋を開きます

ホコリが詰まりそうなので、時々掃除した方がよさそうですね。

Windows11の初期状態確認

電源を入れて起動してみると、初期インストールの‘Windows11は24H2でしたが、キーボード配列が‘‘英語用になっていました

インストール日が2047年ってw

Windows 11 Proのライセンス区分はOEM_DMで問題なし

256GB SSDの場合の初期ディスクレイアウトはこんな感じでした。

タスクマネージャー上でのCPU/メモリなどの認識状況確認

CPUはAMD Ryzen 5 3500U, CPUコア4個、スレッドは8個

SSDはTWSC TSC18N256-F7T10A …メーカのTWSCにあるPCIe SSD ページみると製品型番っぽいのが無い(各ページにあるサンプル製品の型番っぽいところは 12345678912 という適当表記)

NICはRealtek PCIe 2.5GbE Family Controller…どうやらRTL8125 っぽい

GPU はAMD Radeon(TM) Graphics でGPUメモリは専用3GB/共有6.5GB

デバイスマネージャ上でのネットワーク系のデバイス認識状況を確認

初期でインストールされているプログラム

スタートメニューにはSystemInfoいないんだけど、インストールされてるらしい

インストールされているAMD Settingsを起動すると、AMD Software Adrenalin Edition 23.19.18 となっている。


Windows 11の再インストールとドライバ適用

続いてSSDを交換し、Windows 11 24H2メディアを使って再インストール実施試験

WIndows Update を行ったあとのデバイス認識状況を確認

一見大丈夫そうに見えるがディスプレイアダプタが汎用認識状態

AMDのWebからドライバー amd-software-adrenalin-edition-25.10.2-minimalsetup-251027_web.exeをインストールしてみたら、下記のドライバがインストールされる(注:あとでわかりますがこのドライバは誤りでした)

しかし適用されていないのでよくよく↑の結果を見てみるとグラフィックドライバーが含まれていないため、アンインストール&再起動を実施。

先ほどのやつは大区分からインストールしてたので、次は各製品ページである「AMD Ryzen™ 5 3500U Drivers and Downloads – Latest Version」からをwhql-amd-software-adrenalin-edition-25.8.1-win10-win11-aug-vega-polaris.exeインストールしようとしたところ失敗

最新版の問題を疑って、以前のバージョン「AMD Ryzen™ 5 3500U Drivers and Downloads – Previous Versions」からwhql-amd-software-adrenalin-edition-23.11.1-win10-win11-nov3-vega-polaris.exeをインストールしても失敗。

Windowsイベントログには特に何もなし

まあ、Secure Boot署名の有効期限切れ警告がありますけどね・・・

ログの名前:         System
ソース:           Microsoft-Windows-TPM-WMI
日付:            2025/11/03 10:34:30
イベント ID:       1801
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:         
ユーザー:          SYSTEM
コンピューター:       gmktecg10
説明:
Secure Boot CA/keys need to be updated. This device signature information is included here.
DeviceAttributes: BaseBoardManufacturer:GMKtec;FirmwareManufacturer:American Megatrends Inc.;FirmwareVersion:Nucbox G10 1.04;OEMModelNumber:NucBox_G10;OEMModelBaseBoard:GMKtec;OEMModelSystemFamily:MINI;OEMManufacturerName:GMKtec;OEMModelSKU:G10-001;OSArchitecture:amd64;
BucketId: 55e726482bc0c005c1d679c0126136223bace851c219b806aa8b8594d8d17946
BucketConfidenceLevel: 
UpdateType: 0
HResult: この操作を正しく終了しました。
イベント XML:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-TPM-WMI" Guid="{7d5387b0-cbe0-11da-a94d-0800200c9a66}" />
    <EventID>1801</EventID>
    <Version>0</Version>
    <Level>2</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x8000000000000000</Keywords>
    <TimeCreated SystemTime="2025-11-03T01:34:30.7530016Z" />
    <EventRecordID>1759</EventRecordID>
    <Correlation />
    <Execution ProcessID="1900" ThreadID="3344" />
    <Channel>System</Channel>
    <Computer>gmktecg10</Computer>
    <Security UserID="S-1-5-18" />
  </System>
  <EventData>
    <Data Name="DeviceAttributes">BaseBoardManufacturer:GMKtec;FirmwareManufacturer:American Megatrends Inc.;FirmwareVersion:Nucbox G10 1.04;OEMModelNumber:NucBox_G10;OEMModelBaseBoard:GMKtec;OEMModelSystemFamily:MINI;OEMManufacturerName:GMKtec;OEMModelSKU:G10-001;OSArchitecture:amd64;</Data>
    <Data Name="BucketId">55e726482bc0c005c1d679c0126136223bace851c219b806aa8b8594d8d17946</Data>
    <Data Name="BucketConfidenceLevel">
    </Data>
    <Data Name="UpdateType">0</Data>
    <Data Name="HResult">0</Data>
  </EventData>
</Event>

プレインストールはver23.19.18のバージョンだったけど、製品一覧にないな、と不思議に思っていたのですが「Radeon™ Vulkan® Drivers Version Table」にて”Adrenalin Release”と”Internal Driver”の数値が異なる、ということが判明

しかし、whql-amd-software-adrenalin-edition-23.11.1-win10-win11-nov3-vega-polaris.exe も whql-amd-software-adrenalin-edition-25.8.1-win10-win11-aug-vega-polaris.exe も本来正しいはずのもの

ちょっと状態がよくわからないのでWindows 11 25H2で再インストール

で、whql-amd-software-adrenalin-edition-25.8.1-win10-win11-aug-vega-polaris.exe をインストールしようとしてもダメ

デバイスマネージャからディスプレイドライバの適用を強行すればGPU認識などをちゃんとすることはできましたが、AMD Settingsアプリのインストールができない状態となるため、いまいちでした。

最終的には、GMKtec公式で配布しているドライバーセットを適用しなければ認識できない、という状態であることが判明

G10_Drivers_Win11_x64_v0.4_20250820.zip を展開し、「Install_AMD_ADB55_3500U_R21C_R22C.bat」を管理者権限で実行することでインストールが完了した。

そして再起動(再起動は要求されないけど)するとRadeonとして認識

インストールされたAMD Setting

先ほどは空欄だったWindows設定画面のグラフィックスカード表記

メモリーを64GBに交換

GPUメモリ割り当てを8GBにした場合のメモリ/GPU認識状況

専用GPUメモリ 8GB、共有GPUメモリ28GBに変化

ESXi上のWindows仮想マシンの仮想ディスクに対してSDeleteコマンドを実行してみたログ

ESXi上で仮想マシンを作った場合に、Thinディスクフォーマットで仮想ディスクを作ると、実際にデータを書き込んだ場合にのみ容量を消費する。

じゃあ、1回書き込んだデータを削除した場合に、自動的に開放してくれるかというと、なかなか難しいことがあるようだ(VMware Storage Space Reclamation in vSphere)

手動で開放する手法がKBにある「Reclaiming disk space from thin provisioned VMDK files when ESXI Host still sees blocks even after removed from GuestOS

Linuxの場合は仮想マシンを止めた後、ESXi shellから仮想ディスクVMDKファイルに対して「vmkfstool -K ディスクファイル名.vmdk」を実行する。

Windowsの場合は、Windows OS上でMicrosoftが配布しているSDeleteコマンド を各ドライブレターに対して実行する・・・ということになっている。

とりあえず実験してみることにした

ESXi上の認識

管理者権限でコマンドプロンプトかPowerShellを開き「sdelete.exe -z c:」を実行

初回は下記の様にEULAが表示されるので「Agree」(承諾)する

実行ログ

PS C:\Users\Administrator\Downloads\SDelete> .\sdelete.exe -z c:

SDelete v2.05 - Secure file delete
Copyright (C) 1999-2023 Mark Russinovich
Sysinternals - www.sysinternals.com

SDelete is set for 1 pass.
Free space cleaned on C:\
1 drive cleaned.
PS C:\Users\Administrator\Downloads\SDelete>

実行完了後の状態を確認すると、特に変わらないような気がする・・・

うーん・・・

効果がわからないので他のWindowsサーバでも試してみる

sdeleteを実行

なんか大量にPurgeが発生している模様で表示がおかしい・・・

14時間経過後・・・

終わらない・・・

そこから10分・・・終わった

PS C:\Users\Administrator> .\Downloads\SDelete\sdelete.exe -z c:

SDelete v2.05 - Secure file delete
Copyright (C) 1999-2023 Mark Russinovich
Sysinternals - www.sysinternals.com

SDelete is set for 1 pass.
Free space cleaned on C:\
1 drive cleaned.
PS C:\Users\Administrator> .\Downloads\SDelete\sdelete.exe -z d:

SDelete v2.05 - Secure file delete
Copyright (C) 1999-2023 Mark Russinovich
Sysinternals - www.sysinternals.com

SDelete is set for 1 pass.
Free space cleaned on D:\
1 drive cleaned.
PS C:\Users\Administrator>

なんで、そんなことになってるのかな?と思ったら作業してたDドライブに対してスケジュールジョブによりたくさんのデータが書き込まれていたためでした・・・ジョブ停止忘れてましたね・・・

よって、SDeleteコマンドを実行した意味がなくなってしまったということに・・・

ただ、実行中にいろいろ調べてみたところ、NVMe上のVMFS領域だと、わざわざsdeleteコマンド実行しなくても勝手に相当する動作をやってくれるのでは?という話もあった

とりあえず、Windows Server 2025環境で実行してみた限り、なんか影響があったようには感じなかった

Surface Pro 7を買ったのでWindows 11 をインストールしてみた

秋葉原でSurface Pro 7の黒が14400円だったので買ってきた

ちゃんとした手順を踏むのであれば、”Surface の USB 回復ドライブの作成と使用“を使うのだが、あえて普通のWindows 11 24H2メディアを使ってインストールを試みた。

この場合も、Surface 用のドライバーとファームウェアをダウンロードする から 「Surface Pro 7 Drivers and Firmware」のドライバ/Firmwareセットをダウンロードすれば終わりなのだが、あえてこれを使わない場合の再インストールを行ってみた。

Windows 11 24H2 メディアのみでの再インストール手法

まず、注意点として、標準的なWindows 11 24H2メディアではSurface Pro 7のタッチパネル操作が行えないため、別途マウスを用意する必要がある。

さて、Surface Pro 7を標準的なWindows 11 24H2メディアでインストールした直後は、下記のように認識していないデバイスがある。

ただ、これらについては、下記のようにWindows Updateを実施すればすべて解消する

解消するのだが、再起動が3回必要だった。

よく見たら上記のWindows Updateで適用されているSurface Firmwareのバージョンは2025/09/30付けで単体ダウンロードが可能になってるFirmwareと同じですね

回復メディアを使用しての再インストール手法

次に、Surface Pro 7の回復メディアを作成してWindows 11 24H2のインストールを行った。

この場合は、インストール直後ですべてのデバイスは認識しているものの、Windows Updateでのドライバ更新は同様にあり、2回ぐらい再起動が必要となった。

また、ディスプレイの拡大率が200%で設定されていた。(標準メディアだと150%)

標準でインストールされているアプリが大分違っていた。

Lifebook U938/S に 32GBメモリを載せてみた

富士通 Lifebook U938/Sに32GBのメモリを載せてみたところ、オンボード4GBと合わせて36GBメモリ認識として使用できるようになった。

今回買ったのはWINTENのSO-DIMM DDR4 3200 32GBです

まあ2枚セットで買ったので、ついでにN95搭載のTRIGKEY にも載せてみて、N95の仕様上は最大メモリーサイズ16GBと書かれているのが突破できていることも確認したりした。