カテゴリー: settings
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(管理者)から行なう。
- mbr2gpt /validate /disk:1 /allowFullOS
Validation completed successfully を確認
- 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タブレットにubuntuをインストールしたのでメモ
背景
中古のwindowsタブレットを持っていたが、過放電を起こしてしまいバッテリーが30%程度まで劣化してしまった。また、格安の中古タブレットをたまたま見つけ購入したのでバッテリー劣化したタブレットにubuntuをインストールしてみたというもの
該当のタブレット
Fujitsu製のArrows Tab Q509/VE
CPU : Intel N4000
メモリー:4GB
インストールしたubuntu 及び インストールに使った物
ubuntu: ubuntu 24.04.02 desktop版
使った物:usbメモリー 、usbキーボード、usbマウス 及び それらを接続するためのusb hub
(下記写真は usb hub)
※最初にusbキーボードを接続して、BIOSからbootの優先順位を変更するのを忘れないように
インストール自体はrufusを使った通常の手法で出来た。但しマウスやキーボードが必要で結局usb hubもインストール作業に必要だった。
インストール結果
1.タッチは有効でした
2.文字入力促された場合、その場所をタップするとソフトキーボードが出現
3.タブレットを傾けると、それに合わせて表示も向きが自動的に調整される
4.wifiとbluetoothも問題なく使用可能
5.アプリの画面表示でwindowの右上がdefaultでは切れているので、設定のディスレイで解像度を調整する必要がある。200% にdefaultでは為っているので 175%に変更すると良さそう。100%だと文字が小さすぎる。
感想
タブレット自体が非力なので大した事は期待できないが、ubuntu tabletとしての使用は問題なさそうでした。
LANポートが4個のミニPCを購入したので、3個のLANポートをgreenに割り当てる
設定方法
IPFire -> Zone Configuration にて、 green の部分をdefault からBridgeに変更し、 割り当てるNICの部分を、全てNative に変更する。その後、再起動する
wake on lanの実現方法の一つ
背景
wake on lan(以降wol)を、機種変前のスマホを使って実現しようとしていたが外出中にスマホがスリープ?してしまい、外出先からwolが出来ない。そこでスマホを使わずraspberry pi(以降raspi)を使う別の方法を考えた。
前提条件
- raspiにsylpheedがインストール済み
- sylpheedから周期的にポーリング受信可能なメールアドレスあり(私の場合自宅サーバー上)
- raspiにwakeonlanがインストール済み
sylpheedでの設定
sylpheedでメッセージ受信したらコマンド実行 に一般設定で設定する
例:
/home/pi/tools/wolmail.sh
他に、2分ごとにメールをチェックする様にした。自宅サーバーでなければ、5分ごととかもう少し間隔を長めにした方が良いかもしれない。 起動までに時間がかかるが。
メール受信時に実行するシェル
wolmail.shを以下の様にした。試行錯誤で書いたものなので効率の良くないコードではあるが。
#!/bin/bash
ls -trl /home/pi/Mail/inbox | tail -1 >/home/pi/logs/wolsh.log
cat /home/pi/logs/wolsh.log | awk '{printf("/home/pi/Mail/inbox/%s\n",$9)}' >/home/pi/logs/woltemp
prefile=/home/pi/logs/woltemp
while read filename
do
cat $filename |awk -f /home/pi/tools/wolmail.awk
done < ${prefile}
wolsh.log、woltempは作業用のファイル
Pathは、念のためフルパスで記述。 sylpheedの受信メールはMail/inboxにあった。最新のものを使用。9番目のフィールドが該当メールのファイル名(数字)であった。
wakeonmailするためのawkスクリプト
awkスクリプトを、wolmail.awkとして下記の様に作成した。
BEGIN{
}
{
if (NF >=2 ) {
if ($1 == "wolkeyword") {
for (i=2;i<=NF;i++) {
if ($i=="aaaaa") system("/home/pi/tools/wol-aaaaa.sh")
if ($i=="bbbbb") system("/home/pi/tools/wol-bbbbb.sh")
if ($i=="ccccc") system("/home/pi/tools/wol-ccccc.sh")
}
}
}
}
END{
print "wol sent end" > "/home/pi/logs/wol_mail_status"
}
wol-xxxxx.shは、wakeonlanコマンドのためのシェル
また、上記は3台に対応
wol用のメール
subjectもしくは本文内に、wolkeyword xxxxx の様に記述してメールする事で良い
無線lanカードのドライバーを入れていたらwake on lanが使えなくなったので再設定
再度調べて、今回は次のサイトを参考にして対処した。
https://blog.janjan.net/2022/08/10/ubuntu-wake-on-lan-settings
現状確認
sudo ethtool enp5s0 | grep -i wake
Wake-on: d になっていた。
Wake-on: g でないとダメとの事。
設定用ファイル作成
nano mytools/wakeonlan.sh で、下記内容のファイル作成
#!/bin/sh
/sbin/ethtool -s enp5s0 wol g
その後、実行属性を与える
sudo chmod +x mytools/wakeonlan.sh
サービスを登録
登録用ファイル作成
sudo nano /etc/systemd/system/wakeonlan.service
[Unit]
Description=Enable Wake-On-LAN
[Service]
Type=simple
ExecStart=/home/myhomename/mytools/wakeonlan.sh
Restart=always
[Install]
WantedBy=multi-user.target
namename はあなたのlogin名
サービスの登録
sudo systemctl enable wakeonlan.service
sudo systemctl start wakeonlan.service
再起動しておしまい
おまけ web経由で切断
電源onだけでは、RDPか何かを許可しない限り電源を切れない。そこでcockpitをインストール
sudo apt install cockpit
sudo systemctl enable cockpit.socket
sudo ufw allow 9090/tcp
これで、webに9090ポートでアクセスするとcockpitが起動しweb経由でいろいろ出来る