V-antena and Tanimoto's page

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

>

カテゴリー: Troubles errors

CATEGORY ARCHIVE

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 で終了

xrdpを入れたがRDP接続できなかったので暫定的仮処置をした

環境

Ubuntu 22.04 (多分24.04でも同じ)
windowsマシン

問題点状況

Ubuntu desktopをインストール後、sudo apt install xrdp にてxrdpをインストール。これで、windowsからRDPを試みるも、login failed となる。

Ubuntu desktopの設定の共有から、RDPを有効にしたり、パスワードを設定しても変わらず。

ssl-certをインストールしても変わらず

暫定仮処置

Netで調べていると、raspberry piでだがシステム設定のアカウントとは別のアカウントを作成したらRDP接続出来た、という記事を見つけた(下記リンク)。

 https://www.thun-techblog.com/index.php/blog/raspberry-pi-os-2022-04-04-xrdp-error/

そこで、別アカウント(ここでは betumei として記述)を使って以下の設定を行った

$ sudo adduser betumei
$ sudo usermod -G sudo betumei

これで、windowsからRDPを行うと成功した

AX210NGW m.2 dual band wifiネットワークカードをIPFireで使うための応急処置

環境

PC    miniPC(CPU N100)
IPfire   IPFire core186
カード Intel AX210NGW カード

問題点

WLANAPページにて、「WLAN CARD」はRunnningになるが、Access PointがStoppedから変わらない。

エラーになっている箇所

/hostapd  /etc/hostapd.conf コマンドを投入してみると、ACS が失敗している。

channel の設定が、 Automatic Channel Searchになっており、しかもその設定から変わらない。 
/etc/hostapd.conf 内のchannel部分をchannel番号を指定して /hostapd  /etc/hostapd.conf  コマンドを実行してみたところ、 Access Pointが Running に変化した。 ここが課題箇所

応急処置

方針  hostapd.conf のコピーを造り、そこでchannelを固定設定し、初期化後に実行させる

応急処置内容 

  1. cp /etc/hostapd.conf /etc/hostapd2.conf
  2. interface=blue0 を hostapd2.conf の先頭に追加
  3. channel= 1 (1-11の間の数値) を hostapd2.conf に設定
  4. /etc/sysconfig/rc.local に、nohup /usr/bin/hostapd /etc/hostapd2.conf &  を追記

これで再起動で対応できる

  ※この方法では、初期化時にAP化に一度失敗しても初期化後にAP化する方法に注意

注意点

アクセスポイントとして使えるのは2.4GHz帯だけというのに注意。従ってAX201NGWを使うことは過剰性能であり、もっと安価なものか別のカードを使用するのがよさそう。

apt updateで「クリアサインされたファイルが有効ではなく、'NOSPLIT' を得ました」出力し失敗

トラブル

apt updateコマンドで、エラーとなり「クリアサインされたファイルが有効ではなく、'NOSPLIT' を得ました (認証にネットワークが必要?)」との情報が出力された。

原因調査

ネットで調べたところ、deb用のソースが消えていたり期限切れの可能性がある事が分かった。
そこで、sudo apt-key list を実行したところ期限切れと表示されるものがあった。

仮処置

/etc/apt/sources.list 又は /etc/apt/source.list.d 内の期限切れのsourceの部分をコメント化した。 一応っこれで、apt updateは実行できる様になった。

正式な対処は、OSを含めアップデイトする事である(が、各アプリケーションの中身の更新が大変)

ubuntuで、「認証が必要です。システムポリシーによりwi-fiスキャンが阻止されます」が繰り返される。それへの対処

参考にしたサイト

対処

以下の内容を /etc/polkit-1/localauthority/ 配下の pklaファイルとして作成記述

[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manage>
ResultAny=no
ResultInactive=no
ResultActive=yes

[Allow Package Management all Users]
Identity=unix-user:*
Action=org.debian.apt.*;io.snapcraft.*;org.freedesktop.packagekit.*;com.ubuntu.>
ResultAny=yes
ResultInactive=yes
ResultActive=yes


[Allow WiFi Scan all Users]
Identity=unix-user:*
Action=org.freedesktop.NetworkManager.wifi.scan
ResultAny=yes
ResultInactive=yes
ResultActive=yes

私の場合は、まとめて以下で作ってしまった。

sudo nano /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla

反映

sudo systemctl restart NetworkManager

V-antena and Tanimoto's page

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