UEFI 変数を書き込む (ReSizebleBar)

この記事を作った動機 最近GitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI systemを使って、Intel Arc A770 を Windows 11 で運用していたが Linux 環境を使うようになって、新たに対応が必要なことが分かった。 具体的には、Windows 利用時は、GitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI systemで提供されている、ReBarState.exeを使うことで Bar サイズを自分で指定すれば勝手に UEFI 変数が必要な分設定されたが、Linux 環境にそのような専用ツールはないと思っていたので、自分で UEFI 変数を書こうとしていた。 その過程で、UEFI 変数を書き込むことに苦戦したんのでその記録を取る。またあとから気づいた ReSizebleBar の UEFI ドライバが使う変数を書き込む専用ツールをソースコードからコンパイルすることについても記録する。基本的にGitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI system関して UEFI 変数を設定する必要がある場合は、ツールを使う方法を推奨する。 環境 System Details Report Report details Date generated: 2026-03-01 13:39:42 Hardware Information: Hardware Model: HP ProLiant ML150 Gen9 Memory: 80.0 GiB Processor: Intel® Xeon® E5-2667 v4 × 32 Graphics: Intel® Arc™ A770 Graphics (DG2) Disk Capacity: 1.5 TB Software Information: Firmware Version: P95 OS Name: Arch Linux OS Build: (null) OS Type: 64-bit GNOME Version: 49 Windowing System: Wayland Kernel Version: Linux 6.18.6-arch1-1 ツールを使う GitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI systemでReSizebleBar のためにUEFIの設定が必要な場合について記録する。すでに作業ディレクトリを作成し、移動していることを前提として想定している。 ...

March 1, 2026

変数

この記事を作った動機 全然まだ私は使い方とか概念をわかってないと思うが、とにかくよく使う hooks について記録を取りたいので、記事を書くだけ。思考の整理とかって感じで書いていて、普通に間違い混ざってると思うし、他の人に参考になるかは怪しい。 react とデータの関係性 React では、データが変更されると UI が連動して更新されたりするという仕組みになっているので、普通の変数ではなく、データのありように合わせて、状態変数と呼ばれるものを使い分ける必要がある。 環境 Vite React TypeScript Tailwind CSS zustand 普通の変数 概要 普通に TypeScript や JavaScript で宣言するような let や var などと書いて宣言する変数たちのことである。これら変数の内容は基本的に React が再描画をかけると内容が初期化されて元の再描画前のデータは消えてしまう。 これを防ぎ、UI 再描画をまたいで変数の値を保持するためには、状態変数を useState なり、 useRef なり宣言して利用する必要があると思われる。 export default function Acompornent(){ // 再描画時には、x:100 y:100 にいちいち初期化されて変更内容が失われる let windowPos = { x: 100, y: 100 } // こちらは再描画時には内容は失われない const [style,setStyle] = useState({ top:0, left:0 }) // このようなコードを書くと windowPos は setStyle されたあと再描画で内容が初期値に戻ってしまう addEventListener("mousemove",(event:MouseEvent) => { // 何かしらのコード windowPos.x = event.screenX windowPos.y = event.screenY // 何かしらのコード setStyle({ top: windowPos.x, left: windowPos.y }) }) return <div style={style} className="fixed">This is styled text.</div> } useState 概要 オーソドックスな状態変数で、データが更新されたとき、UI を再描画させたいという場合に使う。 ...

September 9, 2025