お知らせ

現在サイトのリニューアル作業中のため、全体的にページの表示が乱れています。

ブートドライブをクローンしてクローン元を削除したら起動しなくなったので、その時にやったことのメモ

前提条件

  • OSがWindows 11
  • Windows 10のインストールUSBがある

事前手順

  1. SSD1からSSD2へブートディスクをクローン
  2. OSをシャットダウン
  3. UEFIを起動し、SSD2を指定してブート
  4. コンピューターの管理からSSD1のボリュームを消す
    1. EFIシステムだけは消えなかったのでdiskpartを使う方法で削除した
  5. OSをシャットダウン
  6. 電源を入れる
  7. ブルースクリーンになり0xc000000eエラーが発生

解決方法

Windows 10のインストールUSBを持っていたので、これを使ってリカバリを試みた。

リカバリ用コマンドプロンプトの起動

  1. Windows 10のインストールUSBを挿入しUEFIからインストールモードで起動
  2. 言語選択画面をそのままパスする
    1. 言語選択画面をそのままパスする
  3. 「コンピューターを修復する」を選択
    1. 「コンピューターを修復する」を選択
  4. トラブルシューティング→コマンドプロンプト

ブート情報の修復

UEFI/GPTインストールしたWindowsの「ブート領域」の復旧方法を参考にやっているのだが、途中でbootrec /fixbootが「アクセスが拒否されました」と言ってコケて中断してしまったため、この作業に意味があったのかどうかよくわかっていない。

  1. diskpartを流す
  2. list volumeで今回作成したブートボリュームとEFIシステムボリュームを特定する。この場合はVolume 2と3。
    1. 今回作成したブートボリュームとEFIシステムボリュームを特定する
  3. select volume 3でEFIシステムボリュームを選択
  4. assign letter=b:でドライブレターを割り当てる。因みにこのドライブレターは再起動で消える。
  5. exit
  6. cd /d b:\EFI\WMicrosoft\bootする
  7. ren BCD BCD.bak
  8. bootrec /Rebuildbcd
  9. bootrec /fixboot
    1. 「アクセスが拒否されました」と言ってコケた

ドライブレターの修正

bootrec /fixbootがコケた時にドライブレターのせいじゃね?と思って試してみたやつ

  1. diskpartを流す
  2. Cドライブにデータドライブが入っていたので適当にドライブレターを変える
    1. select volume 0
    2. assign letter=H:
  3. Eドライブにブートドライブが入っていたのでCに変える
    1. select volume 2
    2. assign letter=C:
  4. exitで抜ける
  5. リカバリメニューに戻るので「PCの電源を切る」を選択

この後PCを通常起動したら起動するようになったので解決。起動後にHドライブはなかったので結局どれが決定打だったのかよくわかっていない。なおHドライブはEドライブ扱いになっていた。取り敢えず起動するようになったのでいっか。

この後、もう一度リカバリモードに入り、前述のブート情報の修復の手順で作成したBCD.bakを削除した。

確認環境

Env Ver
OS Ubuntu 20.04.4 LTS
PHP 8.0.29
nginx 1.18.0

手順

php-fpmの導入

sudo apt install php8.0-fpm
sudo sed -i -e 's/;listen.mode = 0660/listen.mode = 0666/' /etc/php/8.0/fpm/pool.d/www.conf
sudo service php8.0-fpm start

nginxの設定

設定ファイルを開きPHPを動かす設定を書く

location ~ ^/.*$ {
  root /path/to/www;
  fastcgi_pass unix:/run/php/php8.0-fpm.sock;
  fastcgi_index index.php;
  include fastcgi_params;
  fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
}

なんとなくアプリを作りたくなったので。Hello worldするとこまで。

確認環境

Env Ver
Windows 11 Pro 22H2
Intel VT-x 有効
Hyper V 有効

手順

  1. 公式サイトからインストーラーを落としてくる
  2. NextとAgree連打でインストールする
  3. Empty Activityを選ぶ
    1. 作成するプロジェクトはEmpty Activityを選ぶ
  4. Tools→Device Managerでデバイスがなんか入ってるのを確認する
    1. Tools→Device Managerでデバイスがなんか入ってるのを確認する
  5. 再生ボタンみたいなやつを押す
    1. 再生ボタンみたいなやつを押す
  6. しばらくするとエミュレーターが起動するのでドロワー中央のAndroidアプリを起動
    1. ブランクのアプリみたいなアイコンをタップ
  7. 画面が出てくればOK
    1. Hello worldが表示される

Windows 10及びWindows 11で通知バナーが出てこなくなる場合の対処法。

発生条件

  1. OSとアプリの通知設定は有効
  2. 通知バナーは出ないが通知の一覧には出ている
    1. 通知の一覧には通知が出ている
  3. ノートPCでPC本体のディスプレイの電源を切った状態でマルチディスプレイを利用している
  4. スリープ復帰後など、外部ディスプレイが復帰したタイミングが影響している

解消方法

OSを再起動すると解消する。

推定原因

恐らくOS側がモニタの認識に何かしら失敗していて通知バナーを表示する座標指定に失敗しているような気がしている(稀にモニタの境界に表示されることがあるため)
恐らくモニタをつけっぱなしにしていれば起きないと思われる。

投稿日:
言語::C#OS::Linux::Ubuntuジャンル::セットアップ

インストール

https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

wget https://dot.net/v1/dotnet-install.sh
chmod 755 dotnet-install.sh
./dotnet-install.sh
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.zshrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.zshrc

Hello world

https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet

dotnet new console -o myapp
dotnet build myapp/myapp.csproj
./myapp/bin/Debug/net6.0/myapp