V-antena and Tanimoto's page

谷本の備忘録・雑記帳・work

>

カテゴリー: Windows

CATEGORY ARCHIVE

CPUがcore i7-7700 OSがwindows10 pro のPCをwindows11 proにupgradeしたのでその記録

該当PCの情報

BTOで購入したマシン(当初ubuntuで運用)に、SSDを増設・windows10 proのusbを購入してインストールしていたもの。

CPU : Intel core i7-7700
マザボ :ASUS Prime H270-PLUS
パーティション:MBR形式
Boot :レガシー 形式
TPM  :2.0のものが付いていた( 別の自作PCにはheadがあるだけ)

従って、MBRからGPTへの変更と、レガシーからUEFIへの変更がまず必要。

MBRからGPTへの変更

windows10に備わっているmbr2gptコマンドを使用する。

powershell(管理者)から行なう。

  1. mbr2gpt /validate /disk:1 /allowFullOS
    Validation completed successfully を確認
  2. mbr2gpt /convert /disk:1 /allowFullOS
    Conversion completed successfully を確認

BIOSモードをレガシーからUEFIへ変更

BIOSの設定から、レガシーからUEFIに変更し保存しresetし再起動する

※Bootメニュー中のCSM(Compatibility Supported Module)のところから変更する

windows10からwindows11へのupgrade

Githubにある flyby11 を使ってupgradeする。 

upgrade後のいくつかのエラー対策

下記は書きかけです。

1.プログラム互換性アシスタント  エラー

https://www.php.cn/ja/faq/650294.html

2.AI suite3 エラー

失敗したかも。 uninstallしてからの方が良いかも

mbr2gptでエラーが出て苦労の挙句解決できたのでメモ

背景

中古のノートPCを購入(CPU: Intel i5-8350U OS:windows 11 Pro)したのだが何かおかしい。

・セキュアbootになっていない
パーティションタイプがMBRになっている

CPUはwindows 11サポート対象だが上記はシステム要件を満たしていない。なのに動作している。windows 11のクリーンインストールでもなく通常のupgrade手順でもなく、抜け道でupgradeされたものなのかも(CPU、TPMはシステム要件を満たしているので通常のupgrade手順で出来るはずだが。 おそらく、中古PC販売者がCPU等がもっと旧いPCでも同じ手順で出来る様に全て抜け道で行ったのではないかと推測。 )

動いているとはいえシステム要件を満たしていないのは気になるので、MBRからGPTへの変換やセキュアbootに変更しようとした。 ところがMBRからGPTへの変換でエラーが出て解決に苦労したので、解決した方法を備忘録として残す。

なお、遭遇したエラーは
mbr2gpt /validate /disk:0 /allowFullOS   コマンドに対して

MBR2GPT cannot find OS partition for disk 0

が返ってくるというものであった。

対応のアウトライン

次の順で行った。 なお、コマンドは管理者権限でのコマンドプロンプトを使う事。powershellでは管理者権限であっても動かないものがある。また、通常のコマンドプロンプトでも動かないものがある。

1.ディスクの構成を確かめる
2.問題個所を除去する
3.mbrからgptへ変換する

これらの対策は、
https://www.diskpart.com/gpt-mbr/mbr2gpt-cannot-find-os-partition-7201.html
のページのsolution-1によるものです。

なお、このエラーはwindowsのupgradeの際にやり方によりゴミが残る事によるものだそう。

ディスクの構成を確かめる

diskpartコマンドでdiskpartモードに入ってから行う。

・list disk  でディスク番号を確認。その後diskを選択。 
 sel disk 0 や sel disk 1などでwindowsがインストールされているディスクを選択。

・list parで、boot ディレクトリーがありそうなpartition を確認。

・該当partitionにドライブletterがアサインされていなければ、
sel par コマンドと assign letter=w などドライブletterを割り当てる。
 例: sel par 2 then assign letter=b

・diskpartから抜け出し、 dir /a b:\  などで、boot <dir> があるpartitionか確認する

・もし そのパーティションにboot <dir>が無かった場合は、別のパーティションで同様に探す

問題個所を除去する

bドライブにbootディレクトリーがあったとして説明する。

bcdedit /store b:\boot\bcd /enum all を実行し、unknown となっているところが無いか調べる。 

もしunknownがあれば、 そこの部分の {identifier}部分を使って、
bcdedit /store b:\boot\bcd /delete {identifier}  にてその部分を削除する。

これをunknownが無くなるまで繰り返す。

mbrからgptへ変換する

disk0がwindowsが入っているdiskとして説明。

mbr2gpt /validate /disk:0 /allowFullOS

を行い、これがsuccessfully completed となったら

mbr2gpt /convert /disk:0 /allowFullOS

にてMBRからGPTに変換する。

後始末:BIOSでレガシーからUEFI起動に変更

再起動しBIOSを立ち上げ起動方法を変更する

廃棄するwindows PC(USBブート出来ないやつ)のシステムドライブのデータ消去

困っていた事

PCを廃棄するため、windows PCのシステムドライブのデータ消去しようとしたが、以前のPCのためかUSBメモリーからboot出来ない。そのため、外付け媒体からデータ消去ソフトを立ち上げて消去するという手法が取れなかった。また、外付けのHDDやDVDドライブからもboot出来なかった。
元々付いていたDVDドライブからなら出来たのかもしれないが、既に取り外していた。

行ったデータ消去方法

windowsの機能のdiskpartを使う方法でデータ消去した。

Step-1 コマンドプロンプトを出すまで

  • 1.windowsの回復オプション画面を出す
  • 2.PCの起動をカスタマイズするから「今すぐ再起動」をクリック
  • 3.トラブルシューティングを選択
  • 4.コマンドプロンプトを選択

しばらく待つと、コマンドプロンプトの画面になる

Step-2 コマンドプロンプトからDsikpartを実行する

以下のコマンドを実行していく

diskpart
list disk
select disk 0
clean all

時間がかかるが終了まで待つ。 終わったら、exit で終了

Miracast出来なかったので対応できた事例

背景

自作及びBTO PCでmiracast動作しなかった。苦戦した結果なんとか動作した例もあるので備忘録として残す

なお、ノートPC,タブレット、スマホからはMiracastは出来ていました。

事例1

 マザボ  ASUS Prime H570-Plus
 CPU    Intel i5-11440
 グラボ  RTX3060
 OS    Windows10 Home

      wifiドングルをTP-LINKの(品名忘れた)Realtek RTL8188EUで苦戦。

      wifiドングルをTP-LINK Archer nano T2U に替えたところ、2.4GHzで成功。
      5GHzでは、ダメ

事例2

 マザボ  ASUS Prime H270-Plus
 CPU    Intel i7-7700
 グラボ   GTX1060
 OS    Windows10 Pro

 wifiはPCIボードにIntel dualband wireless AC-7265を刺している

 Miracastダメ
  Realtek RTL8188EUでもダメ
  T2Uでもダメ

 グラボのdriverを、nvidiaのサイトから最新版をダウンロードし更新した
  (NVIDIA Studio ドライバー ver. 555.85)
  AC7265   ダメ
  RTL8188EU ダメ
  T2u     2.4GHzで成功

結局

  wifiドングルを交換し、グラボのドライバー更新でMiracast出来る場合あり。
  但し、AIやcudnn、tensorなどを使用している場合は、バージョン間の相性があるのでドライバー更新も簡単には出来ないかも

windows10でスクリプトを実行可能にする

背景

windows10のpowershellから、wol用のmagicパケットを送出するスクリプトを実行しようとしたところ、「このシステムではスクリプトの実行が無効になっているため 云々」と怒られてしまった。そこで、ネットで調べて対処した

参考にさせていただいたwebぺージ

'https://rainbow-engine.com/ps-script-execution-disabled/

対処

管理者権限でpowershellを開き、下記コマンドを実行

set-executionpolicy remotesigned

windows10上でdokuwikiをinstallするのに手間取ったので備忘録として残す

手間取った事

ネットで調べてinstallしたが、index.phpを動かそうとすると以下のエラーが出た。IIS_IUSRSに書き込み・変更お権限を与えてもダメだった。

The datadir ('pages') at C:/inetpub/wwwroot/dokuwiki/data/pages is not found, isn't accessible or writable. You should check your config and permission settings

調査とトライ1 進展あるも又つまづく

PHPプログラムの中にprintfを埋め込んで、inc/init.php 中での書き込み権限のチェックでエラーとなっていた。 具体的には、function init_path($path) { 中の下記コード文で失敗していた。

if (!@is_writable($p)) {

検索してみるとPHPのバグの様であった。それで、回避策として次の様に変更してみた。

if (fileperms($p) & 0x02 ==0) {

結果、エラー内容が下記の様なものに変わった。

index/page.idx is not writable. Check your permissions settings!

先ほどと同じようにprintfを埋め込んで調べると、function init_files() 中の

$fh = @fopen($file, 'a');

が失敗していた。強引に空のindex/page.idxファイルを作ってやると、warningがたくさんでて、This topic does not exist yet などの表示が出るまでは行ったが、まだまだだめそう。

そこで、次のアプローチを取る事にした。

inetpub/wwwroot配下とは別の箇所に作る。成功

inetpub/wwwroot配下に、dokuwikiがあるため書き込み権限が得られないのではないかと考え、Cディレクトリー直下に作成してみる事にした。具体的には下記。

  • c:\wikiを作成し、そこにdokuwikiを配置
  • IIS_IUSRSに書き込みや変更の権限を付与
  • iisマネージャーでdokuwiki webサイトを作成
  • サイト名をdokuwiki 物理パスをc:\wikiに設定
  • php.iniのbasedirにc:\wikiを追加

結果、index.phpが成功した。

V-antena and Tanimoto's page

あなたはIPv4でアクセスしています