2022年12月19日月曜日

Debian 11でOracle VM VirtualBoxの共有フォルダを使う

 Remastersysを使って自分好みのDebianを作る際にファイルの受け渡しに共有フォルダーを使おうと、試行錯誤して上手くいったので今後の自分の為に書いておく。
要はただの副産物。

前提としてWindows側にはユーザーフォルダ直下に「File Trans」というフォルダを。
Linux側には/home/xxxx(任意のユーザー名)に「File Trans」というフォルダを。
「C:/Users/xxxx/File Trans」と「/home/xxxx/File Trans」というフォルダができていればOK。
ユーザー名は当然、フォルダ名も好きな名前で構わない。その都度読み替えること。


まずGuest Additions CDイメージを入れ、中にある「VBoxLinuxA-dditions.run」までのパスをコピーする。(これは後で手動入力でも可。)
次にターミナルで「sudo bash {先程コピーしたパス}」を入れる。
多分「sudo bash /media/cdrom0/VBoxLinuxAdditions.run」とかになる。

長々と文字が出たあとに最後がsystem is restartedになっていればOK。再起動する。

再起動後、VM VirtualBoxの共有フォルダー設定にて先程前提として作ったフォルダをそれぞれフォルダーのパス(Windows側のやつ)とマウントポイント(Linux側のやつ)に入力する。
この際に自動マウントにのみチェックを入れておく。

Linuxに戻ると自分のユーザーフォルダにFile Transというフォルダがあると思うが、権限がないのでアクセスできない。
なので再度ターミナルを開き、「sudo gpasswd -a {Linuxのユーザー名} vboxsf」と入力する。
ユーザー名がDebianなら「sudo gpasswd -a debian vboxsf」となる。
「ユーザー debian をグループ vboxsf に追加」と出たら終わり。

以上。

2022年11月6日日曜日

Panasonic Let's Note CF-W2の購入とリカバリと。

※公開日から約1ヶ月前に書いたものです。すまん。

どうも。
突然ですが、皆さんは初めて持ったPCって覚えてますか?
私はPanasonic Let's Note CF-W2が初めて持ったのPCでした。
Pentium Mに512MBメモリ、40GBHDDという今となってはゴミ以下のPC。
それでも当時の私には超高級品のように見えました。WindowsXPがキビキビと動き、インターネットに繋いでよく動画を見ていた覚えがあります。

そんなPCを当時は1万円で買いました。ACアダプタとリカバリディスク付き。
一度HDDが故障したのでAmazonで売っていた500円の40GBHDDを買って、分解工房さんのサイトを見ながら分解して換装した覚えがあります。

時は流れてWindows8.1全盛期。その頃にはもう手元にありませんでした。
何故かは覚えていません。売ったか捨てたかのどっちかです。

そして9年後、引き出しの整理中にリカバリDVDを見つけました。
捨てていなかったのか。いや忘れていたのか。
その時にふと思いました。久しぶりに使いたいなぁと。

なのでヤフオクを見続けること数ヶ月。良さげな物が出品されていました。
値段は送料抜きで1000円弱。10分の1で買えるとは価値が下がったなぁと。
そんなCF-W2を久しぶりに触るだけの記事です。前置きが長くてごめんね。


これが本体。箱付きで購入できたのが嬉しいところ。
前の持ち主が大切に保管していた事に感謝です。
持ち主さんが見ているかは分かりませんが、もし見ていたらここですいませんがお礼を申し上げます。
本当にありがとうございます。

付属品。一通りありますね。
今回は256MBの増設用メモリも入っていましたが残念ながら動作せず。
オンボードの256MBでの運用は少し不安。安いメモリを見つけないと。

外観等は飛ばします。興味ないでしょそんなの。

念の為に再度リカバリ。
CF-W2はこのままリカバリを行うと、余計な電波を拾ってBSoDを出し初期設定画面すら行けない厄介な子です。
なのでリカバリ前にBIOSから無線LANを無効化、そして初期設定を済ませたらPanasonicのサイトからWi-Fiドライバを拾って更新してから再度有効化しましょう。
というか無効のままで良いかもね。今更XPでネット見る猛者なんています?

とりあえず使えるようにはなったけど、HDDだから遅いし画面暗すぎ。
画面はどうしようも無いけど、HDDは手持ちのmSATAにアダプタ噛ませたらSSD化できそうだしやってみようかな?
XPはtrimができないとやらでSSDの効果が無いor逆効果とも言われるけどどうなんでしょうか。

以上。

2022年9月17日土曜日

Lenovo ThinkPad X230のリカバリが上手くいかないので色々探った件。

タイトル通りである。
ここに来た人は同じ状況に陥った人かも。でも先に言っておこう。
これでも解決できなければごめん。自力で解決してくれ。

まずは現在の状況を。
ThinkPad X230のスペックはこの通り。
Corei7 3520M
DDR3 4GB(後に6GBに増設予定)
2.5inch SSD 32GB
mSATA SSD 128GB

mSATA SSD(SanDisk X300 128GB)は中古で購入後、取り付けを行った。
今回はmSATA側にリカバリを行うものとする。
またmSATAは予めパーテイションごと消しておこう。何故かパーテイションがあるとリカバリが無事に終わっても起動してくれない。

まずは2.5inchのSSDを取り外す。BIOSでbootから消す等ではなく物理的にX230から切り離す。
こうしないとリカバリディスクはmSATAではなく2.5inch側にリカバリしようとする。

次に、リカバリ前にBIOSでUSB3.0 ModeをDisabledにする。
USB2.0で動くDVDドライブでリカバリをする際は3.0を切らないとリカバリに失敗するらしい。3.0のDVDドライブは持っていないので分からないが、3.0ドライバでコケているなら恐らく駄目だろう。

次に、UEFI OnlyからLegacy Onlyに変える。
BothでLegacy Firstにしてもいいが、UEFIブートしないように念のためである。

次に、リカバリが終わって再起動する際に再びBIOSでLegacy OnlyからUEFI Onlyに戻す。
何故かリカバリ後のSSDはMBRではなくGPTで構成されているらしい。
まぁこちらの方がWindows10やArch Linuxを入れる際に良いのだが。

これでリカバリができた。
後は最初に外したSSDを元に戻そう。

ちなみに32GBのSSDへのリカバリは失敗した。恐らくだがリカバリ直後のC:\で27GB、リカバリ領域(Q:\)に9.3GB使っているからリカバリが容量不足で途中で止まってしまうのだろう。
64GB以上が望ましい。

2022年8月29日月曜日

自分好みにArch Linuxを入れる時の手順

 自分好みのArch Linuxのインストール方法です。
自分好みですので余計と判断したものは全て切り捨てています。必要なら各自導入してください。
この記事の作成には下記のサイトを参考にさせていただきました。
Arch Linuxのインストールメモ | minetaro12
Arch Linux インストール
この場でお礼を申し上げます。ありがとうございました。

今回使用するPCにはUEFIモードにてWindowsがインストール済みでArchとのデュアルブート環境を構築するものとします。
一応ちょくちょくUEFIモードだけどシングルブートで作る人向けにも書いてあります。
その場合は上記サイトを参考に先にEFIパーティション等を作って下さい。

また私は先にGPartedでArch用の領域を作っています。多分先に作った方が楽です。パーテイション操作でその辺はちょこっと書いています。GPartedで調べて先に作りましょう。

既にArchのインストーラーから起動しているものと仮定します。


~キーボード設定~
loadkeys jp106



~インターネット設定~
有線LANの場合は多分大丈夫なのでpingまで飛ばして下さい。
無線LANの場合はiwctlを使います。下記を入力します。
iwctl

無線LANのデバイスが分からなければ下記を入力。多分wlan0でしょう。
device list

周囲のWi-Fiをスキャンをします。wlan0ではないデバイスならその都度device listで出てきたものに置き換えて下さい。
station wlan0 scan

スキャンしたSSIDを表示。
station wlan0 get-networks

接続。SSID名は繋ぎたいWi-FiのSSIDに置き換えて下さい。
station wlan0 connect <SSID名> 

例:SSIDがarchwifi0001の場合
station wlan0 connect archwifi0001

パスコードを入力後にEnter。接続成功の場合は何も起こりません。
exitを入力してEnterでiwctlを出ます。

正しく繋がっているか確認。下記を入力。
ping archlinux.jp

何回か繰り返して大丈夫そうならCtrl+Cを押して抜けて下さい。



~パーティション~
詳細は省きます。各自GPartedやBIOSならfdisk、UEFIならgdiskを使って作って下さい。
私はGPartedで先に作りました。その方がfdiskやgdiskを使わなくても楽に作れるので。

ちなみにGPartedもfdiskもgdiskもですが、操作を間違えるとWindowsが起動しなくなります。
特にリカバリパーティション等は消すと難儀なことになります。
なのでできるだけ先にリカバリDVDやUSBを作りましょう。

もしGPartedを使う場合の使い方は公式よりlive CDのISOをダウンロード後にUSB等に焼いて起動。
最初のCDが並ぶ画面はそのままEnter。KeyMapがどうのこうのという青画面もEnter。
次の言語選択はJapanなので15を入力してEnter。次は0を入力してEnter。
GPartedが起動したら適当なパーティションをリサイズして領域作成。
この際、必ずWindowsパーティションの後ろに作って下さい。
作成できたらext4でフォーマット。その際にラベルを付けておくと見分けがついて楽なので「Arch」とでも入れておきましょう。

今からは下記のパーテイション構成でインストール等を行います。
実際はsdaがmmcblkだったりnvmeだったりします。その都度読み替えて下さい。
/dev/sda1:EFIパーティション
/dev/sda2:Windowsのパーティション
/dev/sda3:arch(ext4でフォーマット済み)
/dev/sda4:Windowsリカバリパーティション

ちなみにシングルブートであればEFIパーティションも必要です。
archのパーテイションを作る前に500MB程の領域を作ってFAT32でフォーマットします。
その際にフラグをbootで設定しておきまししょう。そうしないとEFIパーティションとして使えません。
そうするとsda1にEFIパーテイション、sda2にArchパーテイションとかになるはず。これもまたその都度読み替えてくださいね。

なお、最近のPCならスワップ領域は作りません。もし古いPCで気になる人はスワップ領域も作りましょう。



~ファイルシステムのマウント~
もし既にパーテイション操作をGPartedで行っている人は先にlsblkと打ってパーテイションを確認しましょう。
今回は上記のファイル構成を元にマウントを行います。
mount /dev/sda3 /mnt
mkdir /mnt/boot/efi
mount /dev/sda1 \mnt/boot/efi

もしシングルブートの場合は下のものを入力しましょう。sda1がEFI、sda2がarchのパーテイションとします。
mount /dev/sda1 /mnt
mkdir /mnt/boot
mount /dev/sda2 \mnt/boot



~サーバーのミラーリスト設定~
reflector --sort rate --country Japan --latest 10 --save /etc/pacman.d/mirrorlist



~パッケージのインストール~
pacstrap /mnt base base-devel linux linux-firmware nano dhcpcd

もしここでコケるならマウントかネットの設定がおかしいかもしれません。pingを打つなりマウント状態を確認しましょう。
baseは必須、base-devel、linux、linux-firmwareも入れておいた方が良いです。
あとnanoは後で使いますのでこれも実質必須です。vimがいい人は代わりにvimを入れましょう。
dhcpcdは有線LANは絶対に使わない!無線LANしか無い!って言うなら不要ですが、入れておいた方が後々楽です。
もしここでnew rootとか言われてエラーが出るならISOイメージが最新のものか公式サイトで確認しましょう。
古いならISOを焼き直して最初からやり直しです。その際はトラブル防止の為にarchのパーテイションを再フォーマットしましょう。



~fstabの生成~
genfstab -U /mnt >> /mnt/etc/fstab



~chrootで中に入ろう~
arch-chroot /mnt
何もエラーが出なければ大丈夫。



~タイムゾーン設定~
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc



~ローカリゼーション~
言語設定です。まずはnanoで使う言語を指定します。下記を入力します。
もしpacstrapでnanoを入れなかった人は先にpacman -S nanoと打って入れましょう。
vimの人はnanoの部分をvimに置き換えましょう。
nano /etc/locale.gen

言語がアルファベット順に並んでいるので矢印キーの下を押しながら#en_US.UTF-8 UTF-8の行を探しましょう。
見つけたら先頭に付いている#を消します。
次に同じようにして#ja-JP.UTF-8 UTF-8を探し、同じように#を消します。
終わったらCtrl+Xを押し、Yを押してからEnterを押すと設定が保存されてnanoが閉じます。
次に下記のコマンドを打ちます。
locale-gen

先程#を消したものが2つ出てきたら大丈夫です。
次に下記のコマンドを打ち込みます。これはデフォルトロケールとキーマップを決めるものです。
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf

ここではLANGをまだja_JPにしないでください。文字化けを起こして読めなくなります。
またキーマップはキーボードが英字キーボードならその都度替えて下さい。普通の日本語キーならjp106でいいです。



~ホスト名の設定~
echoの後のhostnameの部分は好きな名前に変えて下さい。
自分のPCのシリーズ名(ThinkPadとかLavie)とか。
echo hostname > /etc/hostname



~rootパスワードの設定~
passwd

パスワード入力中は何も表示されませんがそれが正常です。焦らず入力して下さい。
再度パスワードを入力して問題無ければ大丈夫です。パスが違うよ!って言われたらもう一度打ちましょう。



~無線LANの設定~
今はiwctlで最初に設定したので繋がっていますが、再起動後は繋がっていません。
ここを飛ばして再起動をすると、有線LANが繋げる人は最後に書かれていることさえしていればネットに繋がりますが、無線LANの人は無理です。
ここで設定しないと再起動後にネットに繋がらず詰みです。
なので普段は無線LANで繋ぐ人や無線LANでしかネットに繋ぐ方法が無い人は必ずここで設定を済ませて下さい。
ここではiwdを使います。ですが起動時に毎回手動で接続作業を行う必要があるので、後で別のものに変えます。
もしそれが面倒ならnetctlを使います。
ここはお好きな方を使って下さい。両方とも設定方法を書いておきます。私はiwdを使いました。
iwdを使うなら下記を入力していきます。
pacman -S iwd
systemctl enable iwd
systemctl enable systemd-resolved
mkdir /etc/iwd
nano /etc/iwd/main.conf

nanoが開いたら下記を入力して下さい。
[General]
EnableNetworkConfiguration=true

終わったらCtrl+X→Y→Enterで保存しましょう。
再起動後に接続設定を行います。


netctlを使うなら下記を入力していきます。
pacman -S netctl openresolv dhcpcd wpa_supplicant

dhcpcdはpacstrapで入れた人は不要です。
次にサンプルデータをコピーします。
cd /etc/netctl/examples/wirelesss-wpa /etc/netctl/wireless
ip link

ip linkではインターフェイス名を確認します。wlan0とかそういうやつね。
次にプロファイルを編集します。
nano /etc/netctl/wireless

開いたファイルにある以下の部分をそれぞれ編集します。
"Interface"に先程確認したインターフェイス名
"ESSID"にWi-FiのSSID名
"Key"にWi-Fiのパスワード

Ctrl+X→Y→Enterで保存しましょう。
最後に起動時に先程のプロファイルで接続するようにします。
netctl enable wireless

これでOKです。

有線LANの人はdhcpcdが再起動後に有効になるようにしておきましょう。
systemctl enable dhcpcd



~マイクロコードのインストール~
これはお使いのCPUがIntelかAMDかで変わります。CPUの型番を見て判断しましょう。
分かったらどちらかを入力します。
pacman -S intel-ucode
pacman -S amd-ucode



~ブートローダーのインストール~
ここまで来たらもうちょっとです。
今回はUEFIのシングルブートとデュアルブートの両方を書いておきます。BIOSの場合は参考にしたサイトを見て下さい。
まずはUEFIでWindowsとデュアルブートする場合です。下記を入力します。
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

次にUEFIでシングルブートする場合です。下記を入力します。
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

これでF12を押すと起動メニューにGRUBという項目があるのでそこから起動できます。
Windowsを起動したい場合は起動メニューのWindows Boot Managerを選択します。
起動メニューを呼び出すキーがF12かどうかはPCによって変わるので調べて下さい。

もし32bit版UEFIの記事から飛んできた人はx86_64をi386に置き換えて下さい。

何も無ければdone.等が出て終わります。
尚、GRUB上からWindowsを起動できるようにはしていないので、os-proberがどうのこうのって出るかもしれません。
今回は問題ないので無視します。



~再起動~
下記コマンドでchrootから抜け、アンマウントして再起動しましょう。
exit
umount -R /mnt
reboot

USBメモリを抜いて再起動するとGRUBから立ち上がるはずです。

これ以降は別の記事に書きます。ここらで一回お茶でも飲んで休憩しましょう。

32bitなUEFIを持つPCでArchがブートしない時

どうも、華凜です。
UEFIが32bitだけどOSは64bitなPC(ThinkPad 10とか)にArchLinuxを入れたは良いけど、GRUBが立ち上がらずブートしない人が多分これを見ているのでしょう。

ここには私が「ThinkPad 10にArchLinuxを入れる際にGRUBがブートせず、色々試行錯誤して上手くいったもの」を書いています。
なので他の機種で上手く行くかは分かりません。ドが付く程の初心者ですので質問されても分かりません。
それを御理解の上で見てください。


まずはArchの公式サイトよりArchのISOをダウンロードしてUSBメモリに焼きます。自分はRufusでGPTモードのUEFI(CSM無効)で焼きました。
ちなみにMBRで焼いたらカーネルパニックを起こしました。UEFIでブートしているので当たり前ですね。


次は「bootia32.efi」を用意します。ArchのISO内に既にありますが、自分が試した限りではこれは使えませんでした。
ファイルは有志が作って公開している物を使います。以下からダウンロードします。
もしgithubで見つからなければdebianの32bit版netinstイメージ内にある「bootia32.cfg」でも代用できるらしいです。試していないので使えるかは知りません。


次にEFIフォルダを開いて中にあるBOOTフォルダも開き、中に入っている「BOOTIA32.EFIを」ダウンロードした「bootia32.efi」に置き換えます。
ついでに同じフォルダにある「grub.cfg」をデスクトップ等にコピーしましょう。
後で中に記載されている文章を使います。


書き換えたらThinkPad 10に挿してF12を連打、USBから立ち上げましょう。もしF12で起動メニューが出ないなら音量の上を押しつつ電源を入れましょう。BIOSに入れるのでStartupから起動順序を変えればOKです。
ちなみに起動メニューは出るように設定を変えておきましょう。
今回入れるArchのGRUBは、Windows Boot Managerを起動の選択肢に追加していないのでGRUBからは立ち上げできません。
ごにょごにょすれば追加できるらしいですが、それはググってね。


USBから起動すると「GRUB >」で停止していればOKです。


まずはディスクの確認。下記のコマンドを打ちましょう。

ls(小文字でエルとエスです)

そうするとhd0等色々と出てきます。今繋がっているストレージを表示しています。
USBメモリはhd(x)とhd(x).gpt(y)とかで出てきてるはず。(x)や(y)は任意の数字が入ってます。
ここの見分け方?調べるしか無いね!


USBメモリがどの数字か分かったら下記のコマンドを打ちます。0や1は適時置き換えてください。

set root=(hd0,gpt1)

カッコはShift+9or10、イコールは”へ”のキーだぞ。ハイフンの横。管理人はネットで探した。


次のコマンドは先程デスクトップにコピーしたファイルを見ます。
メモ帳やEmEditorで開こう。
Menu entriesの下にmenuentryから始まるものがあるはずです。
そのもう少し下にLinuxとinitrdというのがあるはず、それを入力しましょう。
何も無ければGRUB >しか出ないはずです。


最後は下の文字を入力後にEnterです。

boot

これでarchのインストーラーが立ち上がるはずです。
後は普通にインストールしましょう。

GRUBのインストールまで来たら必ずx86_64と書いてある部分をi386に変えて下さい。変えないと64bit用で構成されて起動しません。



最後に私が入力したコマンドを貼り付けておきます。
2022/08/05のArchのインストーラーを使い、USBメモリがhd0,gpt1だと仮定。
USBメモリ名はRufusで書き込んだ際のもの(ARCH_202208)です。
ご使用の環境に応じてUSBメモリ名やhd、gptの後の数字は変えましょう。
(GRUB >は無視してください。分かりやすいように付けているだけです。)

GRUB >set root=(hd0,gpt1)

GRUB >linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202208

GRUB >initrd /arch/boot/intel-ucode.img /arch/boot/amd-ucode.img /arch/boot/x86_64/initramfs-linux.img

GRUB >boot


※2022年12月20日 一部修正

2022年8月28日日曜日

ThinkPad 10とArchLinux

 箇条書きで書いておく。まとめは後日。

bootia32をダウンロード後に/EFI/BOOT内のBOOTIA32と置き換える。

そのまま起動。GRUBが出てきたらlsコマンドでUSBメモリを確認。

パーティションの区切り的にhd0とhd0,gpt1しかないやつがUSBメモリなはず。これはその時毎に確認する。

set root=(hd0,gpt1)で指定をかける(イコールは”へ”のキーを押せ)。

bootia32を置いたフォルダにあるgrub.cfgをEmEditor等で開く。

Menu entriesと書いてある下の方にlinuxとinitrdから始める文字がある。それを丸々パクってGRUBに入力。

最後にbootと入力してEnterでarchが起動する。


コマンドとしてはこんな感じ。

set root=(hd0,gpt1)

linux /arch/boot/x86_64/vmlinuz-linux archisobasedir=arch archisolabel=ARCH_202208

initrd /arch/boot/intel-ucode.img /arch/boot/amd-ucode.img /arch/boot/x86_64/initramfs-linux.img

boot

2022年5月20日金曜日

VirtualBoxとWindows2000について。

 Windows2000のプレリリース版を入手したのでOracle VirtualBoxへとインストールしてみた。
色々とひっかかる点があったので自分への記録として残しておく。

仮想マシンを作る際に(64bitOS自体がないので当たり前だが)32bitOSなので、メモリを4GB以下にするのはまぁ良いとして、ストレージは32GBで作った。
その際に動作をIDEとしておかないと、CD内にSATAドライバが無いためにブルースクリーンで止まる。
仮想マシンで動作させる際は仮想マシン作成時にWindows2000を指定するはずだ。
そうすると自然とSATAは選べないので気にせずとも大丈夫なのだが、実機でインストールする際にはコントローラーをIDEにしないといけない。


次、日付と時刻。
プレリリース版なのでこの記事を書いた2022年では20年以上前に使用期限が切れている。
なので普通に今の日付と時刻で設定を済ませようとすると、「プレリリース版じゃ日付と時刻を正しく設定しろ」と怒られる。
だが、再度出てきた日付と時刻の設定画面で何も変えず2022年のままOKを押しても何も起きなかった。一部の人はそのままだとシステムが停止する等言っていたので、気になる人は1999年頃にすれば使えるはず。


次、起動サウンド。
私の環境では起動時にスタートアップ音(ログオン音?ログイン音?)は鳴るものの、最初の1音か2音目がずっとループしてしまう。
ずっと「ピロピロピロピロピロピロピロピロ…」と。スタートアップ音と同じ長さ分だけピロピロ鳴ってる。
多分ドライバがバグってる。とりあえずVirtualBox純正のドライバソフト的なやつを入れたあとにとあるドライバをアンイストールして再起動してドライバを入れ直したら直った。
名前は「AC97 Driver for Intel(r) 82801 AA Controller」


これくらいかな。また何かあれば追記する。かも?