Samba 4.16.x をOracle Linux 8環境でコンパイルする

Oracle Linux 8.6環境でSamba 4.16.3をコンパイルしようとしたら面倒だったのでメモ書き。

まず、「Package Dependencies Required to Build Samba」にあるVerified Package DependenciesのSamba master / CentOS 8 のリンクが使えない。

これは、CentOS8ではなく、CentOS8Streamにリンクが変わったためである。

ただ、Oracle Linux 8ではレポジトリ名が異なっているため、実行が失敗する。

Oracle Linux 8でのレポジトリ対応は下記となる。

RHEL 8CentOS 8Oracle Linux 8
BaseBaseol8_baseos_latest
AppStreamAppStreamol8_appstream
CodeReady Linux Builder*PowerToolsol8_codeready_builder
EPEL**EPEL**ol8_developer_EPEL

なので、Oracle Linux 8では下記を実行してレポジトリを有効化する

# yum config-manager --set-enabled ol8_codeready_builder
# yum config-manager --set-enabled ol8_developer_EPEL

次に、「Red Hat Enterprise Linux 8 / CentOS 8」に記載があるパッケージ群をインストール

# yum install docbook-style-xsl gcc gdb gnutls-devel gpgme-devel jansson-devel \
      keyutils-libs-devel krb5-workstation libacl-devel libaio-devel \
      libarchive-devel libattr-devel libblkid-devel libtasn1 libtasn1-tools \
      libxml2-devel libxslt lmdb-devel openldap-devel pam-devel perl \
      perl-ExtUtils-MakeMaker perl-Parse-Yapp popt-devel python3-cryptography \
      python3-dns python3-gpg python36-devel readline-devel rpcgen systemd-devel \
      tar zlib-devel

エラー対処1: dbus-devel

configure中にエラー発生

Checking for library nscd                                                                       : no
Checking for nscd_flush_cache                                                                   : not found
VFS_STATIC: vfs_default,vfs_not_implemented,vfs_posixacl,vfs_dfs_samba4
VFS_SHARED: vfs_recycle,vfs_audit,vfs_extd_audit,vfs_full_audit,vfs_fake_perms,vfs_default_quota,vfs_readonly,vfs_cap,vfs_expand_msdfs,vfs_shadow_copy,vfs_shadow_copy2,vfs_readahead,vfs_xattr_tdb,vfs_streams_xattr,vfs_streams_depot,vfs_acl_xattr,vfs_acl_tdb,vfs_preopen,vfs_catia,vfs_media_harmony,vfs_unityed_media,vfs_fruit,vfs_shell_snap,vfs_commit,vfs_worm,vfs_crossrename,vfs_linux_xfs_sgid,vfs_time_audit,vfs_offline,vfs_virusfilter,vfs_widelinks,vfs_snapper,vfs_posix_eadb,vfs_syncops,vfs_dirsort,vfs_fileid,vfs_aio_fork,vfs_aio_pthread,vfs_gpfs,vfs_btrfs,vfs_glusterfs_fuse
PDB_STATIC: pdb_smbpasswd,pdb_tdbsam,pdb_samba_dsdb,pdb_ldapsam
PDB_SHARED:
AUTH_STATIC: auth_builtin,auth_sam,auth_winbind,auth_unix,auth_samba4
AUTH_SHARED:
NSS_INFO_STATIC: nss_info_template
NSS_INFO_SHARED:
CHARSET_STATIC:
CHARSET_SHARED:
IDMAP_STATIC: idmap_tdb,idmap_passdb,idmap_nss,idmap_ldap
IDMAP_SHARED: idmap_ad,idmap_rfc2307,idmap_autorid,idmap_rid,idmap_hash,idmap_tdb2,idmap_script
GPEXT_STATIC:
GPEXT_SHARED:
PERFCOUNT_STATIC:
PERFCOUNT_SHARED:
Checking for dbus                                                                               : not found
vfs_snapper is enabled but prerequisite dbus-1 package not found. Use --with-shared-modules='!vfs_snapper' to disable vfs_snapper support.
(complete log in /root/samba-4.16.3/bin/config.log)
# 

これは「dnf install dbus-devel」のインストールで対応

# dnf install dbus-devel
メタデータの期限切れの最終確認: 0:08:21 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ      Arch        バージョン                リポジトリー       サイズ
================================================================================
インストール:
 dbus-devel      x86_64      1:1.12.8-18.0.1.el8       ol8_appstream       68 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 68 k
インストール後のサイズ: 127 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
dbus-devel-1.12.8-18.0.1.el8.x86_64.rpm          54 kB/s |  68 kB     00:01
--------------------------------------------------------------------------------
合計                                             54 kB/s |  68 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1
  scriptletの実行中: dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1
  検証             : dbus-devel-1:1.12.8-18.0.1.el8.x86_64                  1/1

インストール済み:
  dbus-devel-1:1.12.8-18.0.1.el8.x86_64

完了しました!
#

エラー対処2: python3-markdown

configure中にエラー発生

Checking for openpty                                                                            : not found
Checking for library util                                                                       : yes
Checking for openpty in util                                                                    : ok
Checking for system installation of Python module markdown                                      : not found
        Unable to find Python module 'markdown'. Please install the system package: python3-markdown'.
#

これは書かれている通りにpython3-markdownをインストール

# dnf install python3-markdown
メタデータの期限切れの最終確認: 0:09:33 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ          Arch      バージョン        リポジトリー             サイズ
================================================================================
インストール:
 python3-markdown    noarch    2.6.11-2.el8      ol8_codeready_builder    133 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 133 k
インストール後のサイズ: 418 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
python3-markdown-2.6.11-2.el8.noarch.rpm        108 kB/s | 133 kB     00:01
--------------------------------------------------------------------------------
合計                                            108 kB/s | 133 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : python3-markdown-2.6.11-2.el8.noarch                   1/1
  scriptletの実行中: python3-markdown-2.6.11-2.el8.noarch                   1/1
  検証             : python3-markdown-2.6.11-2.el8.noarch                   1/1

インストール済み:
  python3-markdown-2.6.11-2.el8.noarch

完了しました!
#

エラー対処3: perl-JSON

make中にエラー発生

third_party/heimdal/lib/asn1/der_free.c third_party/heimdal/lib/asn1/der_format.c third_party/heimdal/lib/asn1/der_length.c third_party/heimdal/lib/asn1/der_copy.c third_party/heimdal/lib/asn1/der_cmp.c third_party/heimdal/lib/asn1/der_print.c third_party/heimdal/lib/asn1/extra.c third_party/heimdal/lib/asn1/timegm.c third_party/heimdal/lib/asn1/template.c third_party/heimdal/lib/asn1/oid_resolution.c -> bin/default/third_party/heimdal/lib/asn1/der-protos.h
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.
BEGIN failed--compilation aborted at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.

Waf: Leaving directory `/root/samba-4.16.3/bin/default'
Build failed
 -> task in '../heimdal/lib/asn1/der-protos.h' failed with exit status 2 (run with -v to display more information)
make: *** [Makefile:7: all] エラー 1
PYTHONHASHSEED=1 WAF_MAKE=1  ./buildtools/bin/waf install
Waf: Entering directory `/root/samba-4.16.3/bin/default'
        Selected embedded Heimdal build
Checking project rules ...
Project rules pass
[1/1] Compiling VERSION
+ install /usr/local/samba/lib/pkgconfig/samba-hostconfig.pc (from bin/default/lib/param/samba-hostconfig.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc_samr.pc (from bin/default/source4/librpc/dcerpc_samr.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc.pc (from bin/default/source4/librpc/dcerpc.pc)
+ install /usr/local/samba/lib/pkgconfig/samdb.pc (from bin/default/source4/dsdb/samdb.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-credentials.pc (from bin/default/auth/credentials/samba-credentials.pc)
+ install /usr/local/samba/lib/pkgconfig/wbclient.pc (from bin/default/nsswitch/libwbclient/wbclient.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-util.pc (from bin/default/lib/util/samba-util.pc)
+ install /usr/local/samba/lib/pkgconfig/dcerpc_server.pc (from bin/default/source4/rpc_server/dcerpc_server.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_krb5pac.pc (from bin/default/librpc/ndr_krb5pac.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_standard.pc (from bin/default/librpc/ndr_standard.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr_nbt.pc (from bin/default/librpc/ndr_nbt.pc)
+ install /usr/local/samba/lib/pkgconfig/ndr.pc (from bin/default/librpc/ndr.pc)
+ install /usr/local/samba/lib/pkgconfig/samba-policy.cpython-36m-x86_64-linux-gnu.pc (from bin/default/source4/lib/policy/samba-policy.cpython-36m-x86_64-linux-gnu.pc)
+ install /usr/local/samba/sbin/samba_downgrade_db (from bin/default/source4/scripting/bin/samba_downgrade_db.inst)
+ install /usr/local/samba/sbin/samba_dnsupdate (from bin/default/source4/scripting/bin/samba_dnsupdate.inst)
+ install /usr/local/samba/sbin/samba_spnupdate (from bin/default/source4/scripting/bin/samba_spnupdate.inst)
+ install /usr/local/samba/sbin/samba_upgradedns (from bin/default/source4/scripting/bin/samba_upgradedns.inst)
+ install /usr/local/samba/sbin/samba_kcc (from bin/default/source4/scripting/bin/samba_kcc.inst)
+ install /usr/local/samba/sbin/samba-gpupdate (from bin/default/source4/scripting/bin/samba-gpupdate.inst)
+ install /usr/local/samba/bin/samba-tool (from bin/default/source4/scripting/bin/samba-tool.inst)
+ install /usr/local/samba/lib/pkgconfig/netapi.pc (from bin/default/source3/libnet/netapi.pc)
+ install /usr/local/samba/lib/pkgconfig/smbclient.pc (from bin/default/source3/libsmb/smbclient.pc)
[306/306] Linking bin/default/third_party/heimdal_build/compile_et.inst
[317/322] Processing ../heimdal/lib/asn1/der-protos.h: third_party/heimdal/lib/asn1/der_get.c third_party/heimdal/lib/asn1/der_put.c third_party/heimdal/lib/asn1/der_free.c third_party/heimdal/lib/asn1/der_format.c third_party/heimdal/lib/asn1/der_length.c third_party/heimdal/lib/asn1/der_copy.c third_party/heimdal/lib/asn1/der_cmp.c third_party/heimdal/lib/asn1/der_print.c third_party/heimdal/lib/asn1/extra.c third_party/heimdal/lib/asn1/timegm.c third_party/heimdal/lib/asn1/template.c third_party/heimdal/lib/asn1/oid_resolution.c -> bin/default/third_party/heimdal/lib/asn1/der-protos.h
Can't locate JSON.pm in @INC (you may need to install the JSON module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.
BEGIN failed--compilation aborted at /root/samba-4.16.3/third_party/heimdal/cf/make-proto.pl line 7.

Waf: Leaving directory `/root/samba-4.16.3/bin/default'
Build failed
 -> task in '../heimdal/lib/asn1/der-protos.h' failed with exit status 2 (run with -v to display more information)
make: *** [Makefile:10: install] エラー 1
#

「dnf install perl-JSON」で対処

# dnf install perl-JSON
メタデータの期限切れの最終確認: 0:24:56 時間前の 2022年07月19日 09時59分33秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ      Arch         バージョン              リポジトリー        サイズ
================================================================================
インストール:
 perl-JSON       noarch       2.97.001-2.el8          ol8_appstream        96 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 96 k
インストール後のサイズ: 245 k
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
perl-JSON-2.97.001-2.el8.noarch.rpm              70 kB/s |  96 kB     00:01
--------------------------------------------------------------------------------
合計                                             70 kB/s |  96 kB     00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : perl-JSON-2.97.001-2.el8.noarch                        1/1
  scriptletの実行中: perl-JSON-2.97.001-2.el8.noarch                        1/1
  検証             : perl-JSON-2.97.001-2.el8.noarch                        1/1

インストール済み:
  perl-JSON-2.97.001-2.el8.noarch

完了しました!
#

以上でsamba-4.16.3のコンパイルが正常に終了した。

Windows 7のWindows Updateがうまくいかない件への対処策 2022/07/15版

Windows 7を初期インストールしてWindows Updateを実行すると、「エラーコード 80072EFD」で失敗する。

Windows 7のルート証明書は1つ以外期限切れとなっている

DELLに「Windows 7のアップデートが動作しない」という情報があった。

手順1: Windows 7 Service Pack 1適用

インストールしたメディアがService Pack 1未適用であれば「Windows 7 Service Pack 1(KB976932)」から「windows6.1-kb2533552-x64_0ba5ac38d4e1c9588a1e53ad390d23c1e4ecd04d.msu」をインストールしてmsuパッケージ適用システムのアップデート(KB2533552)を実施。

続いてSP1本体の「windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe」 を適用し、再起動

なお、SP1インストール中にKB976902 をダウンロードしてインストールしている模様

手順2:KB3020369適用

Windows 7 for x64-Based Systems 用更新プログラム (KB3020369)」から windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu を適用

手順3:KB3125574適用

Windows 7 for x64-Based Systems 用更新プログラム (KB3125574)」からwindows6.1-kb3125574-v4-x64_2dafb1d203c8964239af3048b5dd4b1264cd93b9.msu を適用し、再起動

これでWindows Updateが実行できるようになりました。

有効なルート証明書も増えました

Internet Explorer 11適用について

DELLページではInternet Explorer 11のインストールが薦められていますが、2022年7月現在リンク先が動作していません。

現状は「x64 ベース システム Windows 7 用 Internet Explorer 11」から入手となる様です。

ただ、DELLページだと別途Internet Explorer 11をインストールする、と書いてありますが、WIndows Updateからでインストールすることも出来ます。

単独でインストールする場合は上記リンクから ie11-windows6.1-x64-en-us_ddec9ddc256ffa7d97831af148f6cc45130c6857.exe を入手しインストールすると前提パッチ適用も行われます。ただ・・・インストール後もWinodws updateでIE11インストールの選択が残っていたので、おとなしくWindows Update経由でインストールした方が良さそうです。

IE11インストーラによるインストール中に以下が追加されていた
Windows 7 x64 Edition 用プラットフォーム更新プログラム (KB2670838)
Windows 7 for x64-Based Systems 用更新プログラム (KB2729094)
Windows 7 for x64-Based Systems 用更新プログラム (KB2834140)


Windows Updateで適用できないものがある

2022/07/15時点でWindows Updateを行うと2つの重要な更新プログラムで「エラーコード 80092004 Windows Updateで不明なエラーが発生しました」という失敗が発生した。

失敗している更新は以下の2つ

2019-09 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB4516065)

2020-01 Windows 7 および Server 2008 R2 (x64 版) 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB4535102)

それぞれ定期的に更新されていそうなものなのでMicrosoft Catalogで検索してみるとかk

Windows 7 向けセキュリティ マンスリー品質ロールアップ」で検索すると、2022/07/15時点では「2022-07 x64 ベース システム用 Windows 7 向けセキュリティ マンスリー品質ロールアップ (KB5015861)」が最新となる。

Windows 7 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ」で検索すると、2022/07/15時点では 「2022-04 Windows 7 (x64 版) 用 .NET Framework 3.5.1、4.5.2、4.6、4.6.1、4.6.2、4.7、4.7.1、4.7.2、4.8 のセキュリティおよび品質ロールアップ (KB5012329)」が最新となる。

2022-07のロールアップの適用を試みたところ、エラーとなり、「Windows を実行しているコンピューターに .msu 更新プログラム パッケージをインストールするときのエラー メッセージ: 「このパッケージをインストールする前に、Windows モジュール インストーラーを更新する必要があります」」というリンクが案内された。

しかし上記記事内に各OSごとの更新プログラム情報のリンクが存在していない。

英語版の「Error message when you install a .msu update package on a computer that is running Windows: “The Windows Modules Installer must be updated before you can install this package”」には記載されている。

ただ、リンク先は「An update that prevents a “0xC0000034” error message when you try to install Windows 7 SP1, Windows Server 2008 R2 SP1, or Windows Embedded Standard 7 SP1 is available」という記事でそこからリンクされているアップデートファイルはアクセス出来ない。

Update the Windows Update Agent to the latest version」の”Stand-alone packages for Windows 7 SP1 and Windows Server 2008 R2 SP1″にてダウンロードできそうだったのですがアクセス出来ず。

2533552」で検索すると、そこにはWindows 7 x64 についてのファイルがないが、「Windows Embedded Standard 7 for x64-Based Systems 用更新プログラム (KB2533552)」で適用しようとしたが、すでに適用されてる、となった。

https://www.catalog.update.microsoft.com/Search.aspx?q=KB3150513
https://www.catalog.update.microsoft.com/Search.aspx?q=KB3185319

ここらを適用しつつ再起動を繰り返したら 次は 2020年 1月 31日 マンスリーロールアップの適用で止まった。

そこは以下を適用していったらなんとなった。

2020 年 1 月 31 日 — KB4539601 (マンスリー ロールアップのプレビュー)」に記載されている前提パッチ
 2019-03×64 ベース システム用 Windows 7 サービス スタック更新プログラム (KB4490628)
 2019-09 x64 ベース システム用 Windows 7 のセキュリティ更新プログラム (KB4474419)
 そしてパッチ本体 2020-01 x64 ベース システム用 Windows 7 向けマンスリー品質ロールアップのプレビュー (KB4539601)

AlmaLinux / Rocky Linuxのリリースバージョン固定方法

RedHat Enterprise Linux (RHEL)の基本として、dnfオプションで「–releasever=8.4」というような形でバージョン指定すると固定できる、という手法がある。

そして、設定ファイルとして設定する場合は /etc/yum/vars/releasever というファイルに「8.4」と書くことで反映され、dnfを実行する際にでオプション指定する必要がなくなる。

しかし、AlmaLinux, RockyLinuxともこの設定を行ってもうまくいかないように見える。

これは /etc/yum.repos.d/ の各レポジトリ設定にある情報取得元が「mirrorlist=https://mirrors.almalinux.org/mirrorlist/$releasever/~」というような指定になっていますが、このURLには最新バージョンのものしか残っていないため発生している。

この「mirrorlist=~」のほうを「#mirror=~」と行頭に#を入れてコメントとする。

そして標準ではコメントとなっている「# baseurl=https://repo.almalinux.org/almalinux/$releasever/~」となっている記述のほうの# を削除し、その後ろにあるURLを修正することで対処する。

どう書き換えるかについてはAlmaLinuxとRockyLinuxでそれぞれ異なる。

AlmaLinux の場合

AlmaLinux のレポジトリ https://repo.almalinux.org/almalinux/ を見に行くと 2022/07/14時点では「8.6」「8」「9.0」「9」のディレクトリしかなく古いバージョンのディレクトリはない。
(2023/09/15時点だと古いバージョンのディレクトリはあるものの中身は入っていない)

じゃあ古いバージョンはどこにあるかといえば https://repo.almalinux.org/vault/ にある

なので、 /etc/yum.repos.d/ の各設定にあるURLを「https://repo.almalinux.org/almalinux/~」から「https://repo.almalinux.org/vault/~」に書き換えればよい、ということになる。

RockyLinuxの場合

RockyLinux のレポジトリ https://download.rockylinux.org/pub/rocky/ を見に行くと 2022/07/14時点では「8.4」「8.5」「8.6」「8」「9.0」「9」とディレクトリがあるが、8.4,8.5のディレクトリ内にはreadme.txt があり https://dl.rockylinux.org/vault/rocky/ に案内される。

というわけで、/etc/yum.repos.d/ に書き換えは「https://download.rockylinux.org/pub/rocky/~」から「https://dl.rockylinux.org/vault/rocky/~」に書き換えることになる。

Oracle Linuxの場合

非サポート契約者で固定する方法はなさそう。

ISOファイルを読み込む、という手法で固定する場合は「Oracle Linux 8でリリースバージョン固定する方法」参照のこと。

Cent OSの場合

CentOSの古いレポジトリは https://vault.centos.org/centos/ となる

CentOS 7.xの場合は、各バージョンで提供されているアップデートも適用できる。

CentOS 8.xでは各バージョンの提供開始時のパッケージで固定される。kernelだけは各バージョンに相当する最新パッチも適用できる?


2023/03/06 追記

EPELレポジトリ使用時の注意点

EPELレポジトリの$releasever は基本的に「9」「8」「7」とメジャーバージョン部分だけの構成なようです。

このため、/etc/yum/vars/releaseverで「9.0」という感じでバージョン固定してしまうと、EPELレポジトリ検索の際も「9.0」として実施しますが、EPELレポジトリには小数点以下のディレクトリがないためエラーとなってしまいます。

このため、たとえばepelレポジトリの構成ファイルにある「$releasever」を直接数字の「9」に置き換えてしまう、といった対処が必要となります。

Windows Server インストール時にドライバ追加したけど、このドライブにインストールすることはできません となる場合

Windows Server 2012R2 / Windows Server 2016 / Windows Server 2019 / Windows Server 2022 の標準的なインストールメディア内にストレージドライバが含まれていない場合、インストール途中にドライバが含まれてるメディアに差し替えて読み込む必要がある。

ストレージがなにも認識されていないので「ドライバーの読み込み」を選択

Windows Serverのインストール用DVDを抜いて、ドライバが含まれているCDに交換して、OK

該当するストレージのドライバディレクトリを指定

指定したドライバが正解であるなら「インストールするドライバーの選択」に表示されます。

次へをクリックしてドライバを読み込みます。

スキャンが終了すると、以下の様にディスクが表示されます。

しかし、よく見てみると「このドライブに Microsoft サーバー オペレーティング システムをインストールすることはできません (詳しい情報の表示) 」という注意マークがついています。

選択した場所に Microsoft Server オペレーティングをインストールできませんでした。 メディアドライブを確認してください。詳細については、次の情報をご覧ください: 0x80300001

これはWindows Serverのインストール用DVDが認識できない場合の表示です。

先ほどドライバが含まれているCDに交換しているので、Windows Server のインストール用DVDに交換し、「最新の情報に更新」をクリックします。

上記の様に警告が消えて「次へ」が選択できるようになりました。

あとは普通に進めていけば大丈夫です。

この現象はWindows Server 2012R2 , 2016, 2019, 2022で発生することを確認しました。

出したくないのであれば、Windows Serverのインストールメディアにドライバを組み込むか、DVDドライブやUSBメモリを複数用意し、同時にマウントするかです。

インストールメディアにドライバを組み込む際の参考資料:UEFIブートのサーバでWindows Server 2016のインストール用USBメモリが起動しない

Amazonで1万5千円だったタッチ対応モバイル液晶を買ったらペンタブにもなった件

twitterでAmazonで1万5千円だったタッチ対応モバイル液晶を買ってメーカー名のロゴを剥がしたらLenovoと書いてあった、というのを見た。

注意:この記事は既にワコムAESペンを持っている人を対象に書いています。(AESペンは6千円~1万円ちょいで買えます)

<今回届いた液晶はLenovoのペン対応タッチパネル液晶でしたが、Amazonのレビューを見るとLenovoのロゴがないものもあるようです。その場合ペン動作がするのかどうかは不明です。たぶんガラス部分に印字されてないバージョンなだけだとは思いますが…>

調べて見ると、Lenovoが保守用に販売している液晶を流用してモバイル液晶のケースに入れたものらしい。

興味を持ったので探してみると発見

表示は21999円となっているが、7/14 7/31 8/31までクーポンで7000円引きとなっていて 14999円である。

Visual Beat モバイルモニターモバイルディスプレイ13.3インチ FHD 1080p 2024/01/25現在 15999円

じゃあ、Lenovoの何の製品で使われているのか?

「13.3インチ」「10点タッチ」あたりで調べて見るとLenovo ThinkPad Yoga 730あたりで使われているやつじゃないかなーとあたりを付けた。

もし、この液晶であるならワコムAESペンが使えるはずなのでは?ということで買ってみた。

裏面にはVESAマウント用の穴もある。

まずは普通にHDMIモニタとして使えることを確認

続いて気になる左下のシールを剥がしてみます。

Lenovo!

続いてタブレットとしてつなげてみます。

Type-C 1本でディスプレイ出力もできるDisplayPort Alternate Mode対応のノートパソコンなどは「通信用C」とパソコンをType-Cケーブルで繋ぎます。「電源用C」にUSB PD電源アダプタをつなげるとパソコンへの電源供給も可能です。

HDMI出力しかないパソコンに繋いで液晶タブレットとして使うには、まず、「通信用C」と「パソコン」を「Type-Cコネクタ<=>Aコネクタ」のケーブルで繋ぎます。
繋いだあとで、miniHDMIケーブルをさすとパソコン側で認識してくれます。

なお、HDMI接続でタブレットとして使おうとした場合、おかしなUSBデバイス認識となる場合があります。その場合はケーブルを抜いて30秒程度放置したあと、USBケーブルから先に繋いで見てください。

(おそらく、Type-Cケーブル1本で繋ぐと誤認されてしまってDisplayPort Alternate Mode用に内部設定を変えて通信を行おうとするもののネゴシエーションに失敗しておかしなUSBデバイスになっている。)

次に、Windows 10の場合、Windows Inkの設定を変更して、「ペンの使用中はタッチ入力を無視する」にチェックを入れておくといいと思います。(ペンで操作中に画面に手が当たると、手で操作した、という扱いになるため)

この設定項目がない場合は後述のWacomのドライバを追加インストールすると現れると思いますので、インストール後に設定してください。

さて、この液晶タブレット、ワコムのAESペンが使えます。

これは「Wacom One」、「raytrektabなど一部のWindows タブレット」、「Samsung のタブレット(Sペン)」「BOOXのAndroidタブレット」と互換性があるペンです。

すみません↑の記述は誤認していました。

Bamboo Ink が入手しやすいものとなります。

うちにあったWACOM Bamboo Ink CS321AKをAESモードにして試してみます。

kritaで試してみたのですが、少し遅めな反応ですね。

他にDELL アクティブペン PN556W/750-AANM でも動きました。(PN556Wは電池が単6と特殊なボタン電池2個が必要なのでお薦めしません)

いま入手できて、単6電池1本で動くあたり、となるとBamboo Ink(CS323AG0C) か DELL アクティブペン PN5122W あたりが良さそうに見えます。

USB充電式としてはBamboo Ink Plus CS322AK0C ですかね

Wacomの販売ページ
 USB充電式「Bamboo Ink Plus CS322AK0C」12,650円
 単6電池1本式「Bamboo Ink 2nd generation CS323AG0C」 6,050円

ヨドバシでの販売ページ
 USB充電式「ワコム WACOM CS322AK0C [Bamboo Ink Plus]」 10,800円
 単6電池1本式「ワコム WACOM CS323AG0C [Bamboo Ink]」 5,830円

aliexpressで見つけた謎のType-Cコネクタで充電できるStylus Penも動作しました
 買ったセラー「PN556W 2048 Rechargeable Stylus Pen for Dell Latitude 7285 7390 7400/ for HP Elite X2 1012 G1 G2 G3 G4 G5 G6 1020 EliteBook」$14.79
 その他のセラー「Active Stylus Digital Stylus Pen Pressure Sensitivity Stylus Pen for HP Elite X2 1012 G1 G2 G3 G4 G5 EliteBook」$14.25

なお、ペンが全然反応しない、という場合は、Windowsのディスプレイ設定を開いてタブレット側を「メインディスプレイ」にしてみてください。(うちは1枚目のディスプレイがタッチ操作対応だったのでこれを設定しないとうまく動きませんでした)

どちらの番号がタブレットなのか分からない場合は「識別」をクリックすると画面上に番号が表示されますので、それで判断してください。

選択したあと、下の方にある「マルチディスプレイ」のところにある「これをメインディスプレイにする」にチェックを入れます。

無事ペンも使えるようになった状態というのは、Windows Ink / Tablet APIのタブレットとして動作している、という状態です。

これは最近の絵描きソフトであればだいたい対応している動作モードです。

ここにワコムが提供している「Wacom Components Driver version: 7.7-61」をインストールすると、SAI ver1などのWinTab API対応の古めのソフトも動くようになります。

2023/08/15追記:設定状況によっては「Lenovo Pen Settings Driver」じゃないと認識しない場合があるようです。(version 7.7-111にて遭遇)

また、インストールすることによりデバイスの認識も変わります。

デバイスのインスタンスパスを一部公開

Wacom Components DriverにはAESペンの細かい設定を行えるソフトもインストールされます。

このため、他に使用している液晶タブレットが無い場合や、Wintab.dllの競合問題が発生しないような場合は、できる限りインストールしておいた方がいいと思います。

なお、普通の液晶ペンタブレットだとペンの位置と画面上のカーソルの位置を合わせるためのキャリブレーション用のソフトウェアがありますが、そういったものが無いようです。(見つけられなかった)

人間側で補正する必要があるので繊細な人には向かないかもしれません。