live-usbでのfedora rescue

いろいろ資料を当たって、どうにかgrub2の修復が済んでfedoraが起動できるようになりました。なので防備録として手順をメモ。

まずはfedora-kde-liveはnvidiaとは相性が悪いので、先にnvidiaのビデオカードを外しておく。次にfedora-kde-liveで起動、ログインまで済ませておく。 念のためにlsblkで構成を確認。現状ではこの通り

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    0 894.3G  0 disk 
├─sda1   8:1    0   600M  0 part
├─sda2   8:2    0     1G  0 part
├─sda3   8:3    0    16G  0 part
└─sda4   8:4    0 876.7G  0 part
sdb      8:16   0 931.5G  0 disk 
├─sdb1   8:17   0   100M  0 part 
├─sdb2   8:18   0    16M  0 part 
├─sdb3   8:19   0 930.9G  0 part 
└─sdb4   8:20   0   552M  0 part 
sdc      8:32   1     0B  0 disk 
sr0     11:0    1  1024M  0 rom  
zram0  252:0    0     8G  0 disk [SWAP]

su -でrootになっておく。/dev/sdaがfedoraなので、あれこれをmountしてchroot

mount /dev/sda4 /mnt <-- rootパーティション
mount /dev/sda2 /mnt/boot
mount /dev/sda1 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount --bind /var/run /mnt/var/run
chroot /mnt

このPCはmulti-bootなので、
grub2-install /dev/sda
を実行。さらに新しい構成を指示するために
grub2-mkconfig -o /boot/grub2/grub.cfg
を実行。
これで終了なので一旦exit。そして順番にmountを解除

umount /mnt/var/run
umount /mnt/sys
umount /mnt/dev
umount /mnt/boot/efi
umount /mnt/boot
umount /mnt

これで終了。今回はumountする前に確認したところgrub2の更新があったので、先に更新してからあれこれ作業。どっちが効いたのかはわかりませんが、無事にfedoraが起動できるようになりました。
後は外したnvidiaのビデオカードを戻して終了。毎度これだと、ビデオカードの脱着が面倒なので、cinnamonのlive-usbを作成しておきますかね。

ドジな話Part2その後の続き

諸々のリビルドとアップデートを着々と進めて、残りの大物としてはLibreofficeを残すのみとなりました。

KF5の地獄はいつものことなんですが、うっかりghcとrustのリビルドに入ったところ、出てくる出てくる関連ファイルの山。使いもしないのにghcとrustの殆どのrpmモジュールをインストールしたんではないかな。それでいてghc本体はエラーで作成できずと何やってんだか解らなくなりました。

さてある程度作成も済んだので一旦再起動しようとしたところ、またしてもgrub2のエラーでFedoraが起動不能に。そのままだとWindows側も道連れなのでBIOS(UEFI?)の設定を変更してとりあえずWindowsは起動できる状態に戻しました。

このgrub2の問題、いい加減にしてほしいなぁ。面倒なので再インストールはしたくありません。なので本腰を入れて対処方法を探らなくては、いやはや面倒なことだ。

まぁこれがFedoraの世界でもあるのですがね。

ドジな話Part2その後

色々と作業していたら結局の所GRUBの更新時には全部のドライブを活かせて置かないと駄目だということが判りました。また余計なものがあっても駄目。これが判るまで随分と時間を無駄にしてしまいました。
結局の所Fedoraの新規インストールを選択して全体の構成も整理したのでした。
で、ここで問題発生。

  • 書き戻したバックアップに古いデーターが混ざっていたので大騒ぎ。まだ騒ぎは続いていますが、まぁ古いデーターの整理もついでにやれるという事だと自分に言い聞かせてています。
  • 例によって-O3化し始めましたが、いつものようにkf5で苦戦中。思っていた以上に依存関係が複雑でまいります。
  • 依存関係と言えば、すでに-O3化済みのdevelパッケージを入れようとすると、こちらも「あれが無い、これが無い」とうるさい…

ぼちぼちやって行って、どうにかkf5とqt5は終わり。先にplasmaを処理してあとはボ更新の来たものから処置というところですかね。もたもたしていると、Fedoraなんで、次々に更新が降ってきて追いつかないという状態になります。
頑張らなきゃ(苦笑)。

ドジな話Part2

先日のこと、PC内のファイルを整理していたらBIOSファイルが出てきました。CPU-Zで現在のBIOSバージョンを確認すると、後から見つかった方が4ステップ程進化している模様。タイムスタンプが2014年、即ち8年も前に取得して放っておいたファイルなので、今更更新する必要もないのですが、なんとなくフラフラと更新してしまいました。まぁ、更新用のExeファイルを実行すると確認されることも無く一気に進んでしまうので止めようもなかったというのもありますが…

1分もかからずに更新が済んで再起動。インストラクションに従ってBIOS画面を出して一旦Default値をLoadしてからあれこれいじって再起動。
Windowsは問題なく起動したのですが、Linuxが問題。BIOSのBoot Menu画面にすら出なくなってしまいました。当然のことながら起動はできません。

データーは残っているのでGrub2とUEFI-Bootの修復だけでなんとかなるんだろうか。
いやはや余計なことをしてしまったものだ。

ドジな話

MSより怪しげなアクティビティが検出されましたとのお知らせ。最近はこの手のメール自体が胡散臭い場合が多いのですが、MSにアクセスしてみると確かになんか怪しいアクセスが記録されています。

なので慌ててPasswordの変更開始。まぁ一回やられているのであれぱ、いまさら変更しても遅いんですけど… まぁ気休めというか何と言うか。
適当にパスワードを決めて登録しなおし。今回はDicewareという英単語を適当に並べてくるソフトを利用。非常に長いパスワードを生成して、登録しなおし。

当然あれこれが全滅しますので関係PC全部で関係パスワードを変更しなくてはなりません。自宅で自分のアカウントの変更をしたので、職場のPCの変更しなくてはと職場へ。

ところがパスワードのメモをOnedriveに仕舞ったのは良いのですが、スマートフォンでのOnedriveのパスワード変更を忘れていたので、当然のことですがオンラインファイルはアクセス不能に…
しかたなく一度家に戻ってから作業再開。時間の無駄でしたね。

やはりパスワードは紙に書いとけってのが最強ですかね。セキュリティ的にどうかと思いますが。

Fedora36

新しい版が発表されました。なので手順に従ってUpgrade。古式ゆかしくコンソールからコマンドを打ち込んでの作業です。

なんだかんだで今回は1つのモジュールが更新できないとの話しでしたが、Optionの–skip-brokenをつけてやったら全部OKとなりました。

KDE spinであるせいもあって何が変わったのかよくわからないですね。唯一はっきりしているのはSRPMをダウンロードするのためのgftpの設定でJAISTがipv6でアクセスしに行って討ち死にしたくらいかな。

あれこれ設定して、とりあえずipv6を無効化してなんとかクリア。あとはgftpのブックマークの変更と更新分のSRPMの取り出し。今回は出遅れた分インストール時にだいぶ更新が含まれたようで初回取得のリストはいつもの2/3くらい。それでも600程度はありますから先は長そう。

遅ればせながらのSMB2

社内サーバーの共有ストレージ用にSambaを利用しています。しばらくはSMB1での運用でしたが、MicrosoftがSMB1を取り除くとの方針が発表されました。

SMB1->SMB2の時にはセキュリティ証明書が必要になると思い込んでいたので、判ってはいたのですが全く行動に移さずにいましたが、どうもそうではない模様。

単純に/etc/samba/smb.confに”min protocol = SMB2″の一文を追加するだけのことでした。実際にやってみましたが全く問題は起きません。
こんなことならもっと早くやっておくんだったな…

リモートデスクトップ接続

Windowsには標準でリモートデスクトップ接続の機能があります。職場でのサーバー管理に便利に使っていたのですが、3月の末頃から妙なエラーが発生して接続できない状態となりました。

ちょっとした作業なら定番のTeraTermを使ってコンソールで済ませることができるのですが、「GUIに頼るなんてトーシロだな」なんて声が聞こえてきますが、ファイルを大量に加工するとか中のゴミを大掃除するなんて作業の場合はGUIで楽にやりたいものです。

接続拒絶のダイアログに表示されるメッセージには「セキュリティレベル」がどうのこうのと出ます。Linuxサイドには特に変更を加えたつもりはないので、戸惑うばかり。WindowsのProでもHomeでも同じ問題が出て接続できせん。また、このリモート接続でのセキュリティレベル云々の問題はネットを漁っても情報がありません。

散々探してようやく突き当たったのが、なんと接続時の色数の問題。Linux側はxrdpなのですが、/etc/xrdp.iniの設定で色数設定を32から24にすると良いとの情報が見つかりました。で、ここを変更してやったところ無事に接続できるようになりました。

#hidelogwindow=true
max_bpp=32 <- ここを24へ
new_cursors=true

こんな設定いじったことは無いはずなのですが、どうにも妙。各種ログを確認したところ3月末にyumでxrdpが自動更新されてました。そのときにiniファイルも更新されてしまったのでしょうね。迷惑だな…

それにしても32bppだと問題になるセキュリティって何なのでしょうね。なんか闇だな。

Windows側でRTCをUTCにする

LinuxとWindowsとを往復すると、RTCの取り扱いの問題で時間がずれます。
うっとうしいので、Linux側をいじったところ変な警告が出たという話は前回しました。なので今回はWindows側の対策の話。

まぁ難しいことは無くて、レジストリエディターで1項目追加するだけです。追加するのは次の項目

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

このレジストリエントリを追加してDWORDで1をセットします。あとは再起動するだけ。再起動すれば当然9時間ずれますので、時刻合わせを行っておきます。

それにしてもまだまだWindowsにもいろいろな機能が隠されていますね。みなさんどうやって見つけているんだろうか。Windows SDKあたりにヒントが隠されているのかな?

ちょっとした小技

LinuxからWindowsに戻すと時刻が-9時間となって鬱陶しいです。

[xxxxx@localhost ~]$ timedatectl
               Local time: 日 2022-03-13 12:15:19 JST
           Universal time: 日 2022-03-13 03:15:19 UTC
                 RTC time: 日 2022-03-13 03:15:20
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no 

それは上記のようにPCの内部時計(RTC)がUTCに同期してしまうからです。LinuxサイドではRTCのデーターから指定されたTimeZoneデータを元に現在時刻を出すので問題無いのですが、WindowsはRTCがローカルタイムであることが前提になっています。
これだとWindowsに戻ったときにいちいち時計合わせしなくてはならず、面倒なので、LinuxサイドのRTCをローカルタイムに合わせてみます。

[xxxxx@localhost ~]$ sudo timedatectl set-local-rtc 1
[xxxxx@localhost ~]$ timedatectl
               Local time: 日 2022-03-13 12:21:18 JST
           Universal time: 日 2022-03-13 03:21:18 UTC
                 RTC time: 日 2022-03-13 12:21:18
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: yes

Warning: The system is configured to read the RTC time in the local time zone.
         This mode cannot be fully supported. It will create various problems
         with time zone changes and daylight saving time adjustments. The RTC
         time is never updated, it relies on external facilities to maintain it.
         If at all possible, use RTC in UTC by calling
         'timedatectl set-local-rtc 0'.

しかし、「いろいろと不都合が出るかもよ」と”脅されます”。ならばともう一度調べたところWindows側のRTCをUTCに合わせる方法もあるとのこと。普段はLinuxなので、Windowsの方を合わせることにしましょう。