カテゴリー: 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を固定設定し、初期化後に実行させる
応急処置内容
- cp /etc/hostapd.conf /etc/hostapd2.conf
- interface=blue0 を hostapd2.conf の先頭に追加
- channel= 1 (1-11の間の数値) を hostapd2.conf に設定
- /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