Ubuntu日本語フォーラム
ログインしていません。
スレが長くなりすぎ、すずめさんの新回答をいただいたので、新スレで。
□元の悩み
$ cat /etc/fstab
UUID=CB1A-E709 /boot/efi vfat defaults,noatime 0 2
UUID=69661b77-aa05-4dbf-8220-f3f261ee255e / btrfs subvol=@,defaults,noatime,space_cache,autodefrag,discard,compress=lzo 0 1
UUID=69661b77-aa05-4dbf-8220-f3f261ee255e /home btrfs subvol=@home,defaults,noatime,space_cache,autodefrag,discard,compress=lzo 0 2
UUID=9e3fed8d-9f31-4fb9-a09a-68b250a63353 swap swap defaults,noatime,discard 0 0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
$ ls -l /dev/disk/by-uuid | grep sda
lrwxrwxrwx 1 root root 10 11月 15 12:17 69661b77-aa05-4dbf-8220-f3f261ee255e -> ../../sda2
lrwxrwxrwx 1 root root 10 11月 15 12:17 9e3fed8d-9f31-4fb9-a09a-68b250a63353 -> ../../sda3
lrwxrwxrwx 1 root root 10 11月 15 12:17 CB1A-E709 -> ../../sda1
以前のubuntu等ではディスクの物理的な順序通り/boot/efiがsda1
/ と /home のあるルートパテ?がsda2
最後にswap がsda3でした。
こんかいdebian11を calamares installer でインストールしてゴニョゴニョして、気づいたら/boot/efi の分区がsda3となってしまった!!
オフライン
elliptic さんによる最初の回答
使えているのならば そのままでヨシ! です。
/boot/efi は /dev/sda1 であるべきというルールはありません。<--英数から日本語にきりかわる箇所はやはり半角空け
PCは混乱せずに動作しており、システムが壊れているのでもなく
何かを直す必要があるわけでもありません。
UUIDで対象が捕捉出来ていればドライブ順やパーテイション番号が変わっても
書き換えなしでOSを動かすことができるようにできています。
それを活かすために fstab や grub.cfgファイルでは
/dev/sdxx
ではなく
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
の形式でパーティションを指定しています。
何が問題かを十分理解しないままいじろうとするのはおすすめしません。
(もっと分区の状態がパッと把握できる、もっといいコマンドがあると思うのですがわかりません(^^))
lsblk -f /dev/sda
はどうでしょうか?
オフライン
$ lsblk -f /dev/sda
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda
├─sda1 vfat FAT16 NO_LABEL CB1A-E709 96.4M 3% /boot/efi
├─sda2 btrfs 69661b77-aa05-4dbf-8220-f3f261ee255e 210.5G 5% /run/timeshift/backup
└─sda3 swap 1 9e3fed8d-9f31-4fb9-a09a-68b250a63353 [SWAP]
なかなか自分のやるべきことが理解できない。やったことがない
■ パーティションテーブル等のバックアップ
がどういう作業なのか把握できない。すずめさんの#25から #40へのつながりも混乱す。
すずめさんの回答
/dev/sd*1 に変更するのは、失敗したときにディスクの内容を失うリスクがあります。
OSが動作中のディスクのパーティションエントリを書き換えることはできませんので、
ライブDVDとか、外付けHDDにインストールしたUbuntuなどから起動して作業します。あ
らかじめディスクまるごとのバックアップを作成しておくのが最も安全です。せめてデ
ィスク先頭・末尾各1MBのバックアップを取っておくと、最悪の事態は避けられるでしょ
う。★デバイスのディレクトリ(/dev/sda, /dev/sdb など)はその都度確認して修正する
(USBの接続順序などにより変わることがある)
菜穂子による感想
> パーティションテーブル
という用語はしょっちゅう聞く。重要なんだろうという程度の認識。
>パーティションテーブル等のバックアップ
こんな部分だけバックアップして役に立つのか?(半信半疑)
とはいえ全体をバックアップするやり方がわからない。
これからやる作業はusbライブでやるんだな。
オフライン
> パーティションテーブル
という用語はしょっちゅう聞く。重要なんだろうという程度の認識。
ディスクの「目次」にあたる部分で
ディスク中にあるパーティションの名前・開始位置・終了位置・種類の一覧表です。
こわれると、パーティションをうまく読み書きできなくなります。
>パーティションテーブル等のバックアップ
こんな部分だけバックアップして役に立つのか?(半信半疑)
うまく動作しなくなった場合に元に戻せます。
MBR形式での話ですが、
ディスクの先頭部にはパーティションテーブルのほか
OSを起動するプログラムなども含まれていて、
書きかえられると特定のOSが起動しなくなったりします。
Ubuntu のインストール設定を誤って Windows が起動しなくなったり、
Windows の更新で Ubuntu が起動しなくなったりしたときに
助けられたことが何度かあります。
とはいえ全体をバックアップするやり方がわからない。
私は Clonezilla を愛用しています。バックアップ先は別の HDD です。参考まで。
オフライン
ディスクの「目次」にあたる部分で
ディスク中にあるパーティションの名前・開始位置・終了位置・種類の一覧表です。こわれると、パーティションをうまく読み書きできなくなります。
なるほど。ひっかかったのは >MBR形式での話ですが、という部分
gptは関係がないのか?
<< gpt パーティションテーブルのバックアップ>>でググった
頭がこんがらがって、已む無く、すずめさんのカキコから離れてガイジンのページ。
https://www.cyberciti.biz/faq/linux-backup-restore-a-partition-table-with-sfdisk-command/#:~:text=To%20backup%20%2Fdev,USB%20pen%20drive.
/dev/sda パーティション テーブルをバックアップするには、次のように入力します。
参考
# sfdisk -d /dev/sda > sda.partition.table.12-30-2015.txt
$ sudo sfdisk -d /dev/sda > '/home/i/sda.partition.table.11-16-2022.txt'
>これをNFS マウント共有または USB ペン ドライブにコピーします。
ということなので、グーグルドライブにコピーした。
------------------------------------------------------------
label: gpt
label-id: 5B2DD538-BB17-C044-8F0F-AE223AB53660
device: /dev/sda
unit: sectors
first-lba: 2048
last-lba: 468862094
sector-size: 512
/dev/sda1 : start= 2048, size= 204800, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=47F7E759-C595-9A4C-B71C-E052F044A72E
/dev/sda2 : start= 206848, size= 465373184, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=6111E7AE-E440-7A43-968B-90A8F4500B8C
/dev/sda3 : start= 465580032, size= 3280896, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=81062FE6-19B3-6545-AEDF-EB062D9BAF05, attrs="RequiredPartition"
オフライン
gd(google drive)にすでに
sda.partition.table.09-03-2022.txt
が存在していた。たぶん9月3日に同じページを参考にして
まったく同じコマンド実行してた。完全に記憶ない。ヤバイw
>sfdisk コマンドを使用して Linux パーティションをバックアップするにはどうすればよいですか?
クリアした、つぎの
> sfdisk コマンドを使用して Linux パーティションをディスクに復元
は、もしもの場合だから略す
すずめさんの#40に書かれているやり方とぜんぜんちがうがいいのか?Disksをインストールしなくていいし、元から入ってるコマンドだけ。しかもddコマンドも使わないし、usbライブすらしてない。
もしこのsfdiskコマンドでバックアップとリストアが、
■ パーティションテーブル等のバックアップ
になっていて、同じならば、こちらのがぜんぜん簡単でいいのではないか?
どうでしょう?すずめさん(o^∀^o)
オフライン
(4)リストア
★当該ディスクを使用中に書き込んではいけない(パーティションが壊れるかも)
・ライブDVDとか、外付けHDDにインストールしたUbuntuなどから起動して 作業します
・リストア先のディスクにあるパーティションは、
あらかじめ ディスク(Disks) か Gparted などでアンマウントしておく
※読み取りは使用中のディスクからでも可能です
なるほど〜、リストアするときだけ、ライブ起動でやるのか?
書き込むから? さっきのバックアップは読み取りだからokだったのか?
オフライン
https://www.cyberciti.biz/faq/linux-backup-restore-a-partition-table-with-sfdisk-command/#:~:text=how%20do%20i%20restore%20the%20linux%20partition%20with%20sfdisk%20command%20to%20the%20disk%3F
さっきの参考ページにrestoreするとき、usbライブで起動してやる――とか書いてないようで、それが謎です
オフライン
「まとめ」に出すはずが誤爆して前スレに。コチラへコピペです。
-----------------------------
いよいよ
■ GPTパーティションの並べ替え
に入ります(^^)よろしくおねがいします
例として、外付けSSD(GPT/Ubuntu 22.04) のパーティション番号を
外付けHDD(MBR/Ubuntu 18.04) を使って並べ替えます。
# ちなみに PC は BIOS です (UEFIではない ^^:)
自分の環境は、内蔵SSD(GPT/debian 11)のパテ番号を
usbライブ(GPT/debian 11) を使って並べ替える。
# 自分のPCは2011年製UEFIです。
けっこう環境がちがうので不安です(T_T)問題なく差異を吸収して
ついていけるだろうか?
(1) 念のため「パーティションテーブル等のバックアップ」をする
※ できればディスクまるごとバックアップすると安心
「パーティションテーブル等のバックアップ」はできました。
>※ できればディスクまるごとバックアップすると安心
はできてないので、これを機にbtrfsにおけるディスクまるごとバックアップのしかたを先に勉強しときます。
かなり時間かかると予想しますのでしばらくさよならです。
オフライン
疲労でかなり朦朧。またしても前スレに投稿。しかしこの大宇宙のなかで孤独を感じない。なぜなら、助けてくれる友がいるから!
-------------------------
まだ すずめさんの回答に沿って何もしてないが
さきほどすでに
$ lsblk
├─sda1 8:1 0 100M 0 part /boot/efi
├─sda2 8:2 0 221.9G 0 part /run/timeshift/backup
└─sda3 8:3 0 1.6G 0 part [SWAP]
/boot/efi が sda1 になっていることに気づいた。...そういえばさいきんそれらしき操作を加えたような...しかし記憶がおぼろげ。記録を読み返す。
--------------------------------------
11/07(月)
$ sudo fdisk -l
ディスク /dev/sda: 223.57 GiB, 240057409536 バイト, 468862128 セクタ
ディスクラベルのタイプ: gpt
ディスク識別子: 5B2DD538-BB17-C044-8F0F-AE223AB53660
デバイス 開始位置 終了位置 セクタ サイズ タイプ
/dev/sda1 206848 465580031 465373184 221.9G Linux ファイルシステム
/dev/sda2 465580032 468860927 3280896 1.6G Linux スワップ
/dev/sda3 2048 206847 204800 100M Microsoft 基本データ
パーティション情報の項目がディスクの順序と一致しません。
GPT PMBR のサイズが合致していません (14399 != 3913727) が、w (書き込み) コマンドで修正されます。
バックアップの GPT テーブルは破損しているようです、しかしプライマリテーブルは大丈夫のようですので、そちらを使用します。
GPTテーブルのバックアップがデバイスの終端にありません。
---------------------------------------------
パーティション情報の項目がディスクの順序と一致しません。
==>この言葉をググってどこかのページに
>パーティションの「並び」はfdiskコマンドの拡張メニューにある「領域の順序を適正化する」機能で簡単に修正できる。
コマンド (m でヘルプ): w
パーティション情報が変更されました。
パーティション 1 の削除に失敗しました: デバイスもしくはリソースがビジー状態です
パーティション 2 の削除に失敗しました: デバイスもしくはリソースがビジー状態です
パーティション 3 の削除に失敗しました: デバイスもしくはリソースがビジー状態です
パーティション 1 をシステムに追加できませんでした: デバイスもしくはリソースがビジー状態です
パーティション 2 をシステムに追加できませんでした: デバイスもしくはリソースがビジー状態です
パーティション 3 をシステムに追加できませんでした: デバイスもしくはリソースがビジー状態です
カーネルは古い情報を使用しています。新しい情報はシステムを再起動した後に利用されます。
ディスクを同期しています。
root@t1:~#
-----------------------------------------------------------
(<===マークは 今追記してる文)
<===(2) 他のディスクから起動して作業する
なしに「何も考えず」起動中のディスクから自分自身のパテに上記操作を加えた。
-----------------------------------------------------------
(日記の続き)
GRUB から起動しなくなり、refindで起動。
以下のエラーメッセージをググって参考ページ。
「Re-reading the partition table failed.: デバイスもしくはリソースがビジー状態です」とエラーが発生しました。
つまり、「パーティション作成をしようとしているデバイスが使用されていますよ」
っていうエラーみたいです
まとめ:マウントされているデバイスは、パーティション操作はできないため、必ずアンマウント
現在使用中の自分自身に対して変更できない
-----------------------------------------------------------------------------------
<== rEFInd boot manager のusbメモリで起動してるのをいつもの手順で修復。
既知の手法
# grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
ok
===============================
11/07(月) 10:46
※とうぶん
パーティション情報の項目がディスクの順序と一致しません。
この問題を放置。じっくりと時を待つ。
=============================
<== >パーティションの「並び」はfdiskコマンドの拡張メニューにある「領域の順序を適正化する」機能で簡単に修正できる。
が効いて「直っていた」。失敗したと今日まで思っていた。不思議なこともあるものですね...
すずめさんが回答付けてくれたから見直すきっかけになって、そんで気づくとは(o^∀^o)
基本的な原理がわかってないことが多く、今は暗黒星雲であっても、やがて明晰な宇宙になるのではないかと!
オフライン
#5 による投稿:
ひっかかったのは >MBR形式での話ですが、という部分
gptは関係がないのか?
じつはGPT形式のディスクはあまり経験がないので。
# 2020年頃までぜんぶ MBR形式で済んでいた(!)
でも、こわれると最悪パーティションが読み書きできなくなるので、
保険としてバックアップを作っておくと元に戻せます。
#5 による投稿:
label: gpt
label-id: 5B2DD538-BB17-C044-8F0F-AE223AB53660
device: /dev/sda
unit: sectors
first-lba: 2048
last-lba: 468862094
sector-size: 512
/dev/sda1 : start= 2048, size= 204800, type=EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, uuid=47F7E759-C595-9A4C-B71C-E052F044A72E
/dev/sda2 : start= 206848, size= 465373184, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=6111E7AE-E440-7A43-968B-90A8F4500B8C
/dev/sda3 : start= 465580032, size= 3280896, type=0657FD6D-A4AB-43C4-84E5-0933C84B4F4F, uuid=81062FE6-19B3-6545-AEDF-EB062D9BAF05, attrs="RequiredPartition"
#1の投稿とディスクの内容が違うのですが、よいのでしょうか?
(パーティションの名前にあたる uuid=... が異なっています)
#6 による投稿:
■ パーティションテーブル等のバックアップ
になっていて、同じならば、こちらのがぜんぜん簡単でいいのではないか?
どうでしょう?すずめさん(o^∀^o)
はい、そちらが簡単です。
# 書いた時点では簡単な方法がわからなかったので
/boot/efi の分区がsda3となってしまった! の #24
https://forums.ubuntulinux.jp/viewtopic … 46#p124862
で elliptic さんが紹介した sgdisk を使うと
$ sudo sgdisk -b=gptbackupfile_sgdisk /dev/sdX
リストアは、
現在使用中のパーティションを変更したり削除したりすると、
以後の読み書きが正常にできない危険があるので、
↑ #7, #8 の疑問のこたえ
他のディスクのOSから起動して、
/dev/sdY 内のパーティションをすべてアンマウントしてから
$ sudo sgdisk -l=gptbackupfile_sgdisk /dev/sdY
マニュアルはこちらです
Man page of SGDISK
https://www.rodsbooks.com/gdisk/sgdisk.html
※ /dev/sdX や /dev/sdY は適切なディスク名 ( /dev/sda とか /dev/sdc とか) に置き換えてください。ディスク(Disks) などで調べてください。
(以上が #8 までの分です)
オフライン
※返信遅れましてしつれいしました。
#1の投稿とディスクの内容が違うのですが、よいのでしょうか?
この指摘を受けて、自分の中では理由はわかっていた。
パーティションテーブルのバックアップということで
ディスクの「目次」にあたる部分で
ディスク中にあるパーティションの名前・開始位置・終了位置・種類の一覧表です。こわれると、パーティションをうまく読み書きできなくなります。
9月にこれをグーグルドライブに保存していた。
sda.partition.table.09-03-2022
そして今回あらたに
$ sudo sfdisk -d /dev/sda > '/home/i/sda.partition.table.11-16-2022.txt'
sda.partition.table.11-16-2022
を保存した。
------------------------------
#5で、保存したsda.partition.table.11-16-2022の内容は以下ですよと貼り付けたのが、過去の9月の内容を貼り付けるといういい加減な仕事。
そしてすずめさんから指摘を受けても「数字と文字列の羅列を目視で確認できない」
(パーティションの名前にあたる uuid=... が異なっています)と言われても
それがどこなのか見ようとすると脳が拒否するんです。
いつもこことか、貼っても自分では「読んでないんです」吐き気がするんで!
そんでようやく以下のテキスト比較ツール difff《デュフフ》というサイトの力を借りて
https://difff.jp/
9月の時点ではuuid=47F7E759-C595-9A4C-B71C-E052F044A72E
は/dev/sda3であったが、げんざいは/dev/sda1になっていることを
確認できた。
ご指摘ありがとうございました(^^)
オフライン
https://forums.ubuntulinux.jp/viewtopic … 46#p124862
で elliptic さんが紹介した sgdisk を使うと
$ sudo sgdisk -b=gptbackupfile_sgdisk /dev/sdX
ほんとうにいろんなやり方、いろんなコマンドがあるもんですねえ。頭がこんがらがります。とはいえCLIは大事。自分には不得意だとしても、このリナックス世界へ入信した以上やるしかないと!
ひじょうに直感的に操作できる、最優秀のGUIソフトも宝ですが。
sgdisk sfdisk この二つはどうちがうのか念の為ググった。
>ストレージのパーティション規格がGPTかMBRかで利用するコマンドが異なってくるので注意.
> プログラムの名前は sfdisk に基づいていますが、2 つのプログラムのユーザー オプションはまったく異なります。
とあった。我はgptなのに、なんでsfdiskでいけたのかな?
マニュアルはこちらです
Man page of SGDISK
https://www.rodsbooks.com/gdisk/sgdisk.html
man を見ても英語な上に... そもそも内容がむずかしいですね...man見ただけで使い方がわかるなんて、かなり習熟してるコマンドとか...
どうしても手取り足取りの参考ページをネットで探してしまいます。
http://blog.nizyu.xyz/blog/partition_backup_restore/
なんかこのページに
ストレージのパーティションの設定をテキストファイルとしてバックアップしておいて,コマンド一発でリストアできるようにする方法. Linuxを再インストールしたりする際に何度もパーティションを切る作業を行うのは面倒なので少し調べてみた.
という文言があったのですが、再インストールの際にパーティションを切る作業を省略にも使えるのですか? それはサイズが異なる物理ディスクにも
使用できるのですか?(バカな質問してたらごめん)
それではみなさん次の質問まで。また会いましょう!!(o^∀^o)
オフライン
いつの間にかパーティションの順序が変わったようで、良かったですね。
我はgptなのに、なんでsfdiskでいけたのかな?
バージョン 2.26 以降は GPT にも対応しているそうです。
(Ubuntu 22.04 LTS では 2.37.2)
[参照] Ubuntu Manpage: sfdisk - display or manipulate a disk partition table
https://manpages.ubuntu.com/manpages/ja … isk.8.html
または端末から
man sfdisk
man を見ても英語な上に... そもそも内容がむずかしいですね...
いえいえ、Google 翻訳 https://translate.google.com/?hl=ja で日本語化しています。
左側の英語欄にURLを貼り付けるとページごと翻訳できます。
オフライン
再インストールの際にパーティションを切る作業を省略にも使えるのですか?
使えるでしょう。
「パーティションを切る」というのは「パーティションテーブルを書き換える」ことにほかなりません。
ただし、パーティションによってはファイルシステムの初期化なども必要かもしれません。
以後はパーティションテーブルに書かれたようにディスクが使われていくことになります。
それはサイズが異なる物理ディスクにも使用できるのですか?
パーティションテーブルにはディスクの個体名にあたるUUIDやサイズや第2GPTヘッダーの位置(=ディスクの末尾)も書かれているため、できません。
オフライン
こんにちは。きょうもよろしくおねがいします^^;
または端末から
man sfdisk
いぜんに、manの日本語化(一部しかならない)をしていたので、今回に限ってはman がいちばんわかりやすかった。man を読むときに自分の場合どこでつまづくか記録しておく。
------------------------------------------------
名前
sfdisk - ディスクパーティションテーブルの表示や操作を行う
説明
sfdisk は、ブロックデバイスのパーティション操作を行うスクリプト指向の
ツールである。 端末上で実行されたときは (標準入力が端末を指しているとき
は)、対話モードになる。
--->知らない用語
「標準入力」--->ググる
https://wa3.i-3-i.info/word11636.html
✓キーボードからの入力だよ
✓「特に指定をしていないときは、ここから入力されたデータが来るはず!」なデータの通り道だよ
標準入力(英:standard input)
プログラムさんは一見すると健康体ですが、実はかなりの重病人なのです。
ベッドの上から動いちゃ駄目、絶対安静状態です。
そしてプログラムさんには、いろいろな不便が出ないようにするために、目には見えない3本の管がつなげられています。
1本目の管はプログラムさんに何かを入れてあげるときに使う管です。
お水とか食料はその管から流し込んであげます。
2本目の管はプログラムさんから普通に出てくるものが通る管です。
きれいなお話ではありませんが、う○ちとかお○っこが通ります。
3本目の管はプログラムさんから普通は出てこないものが通る管です。
吐血した血とか嘔吐したもんじゃ焼きとかが通ります。
このプログラムさんにつながっている3本の管のうち、1本目の管が「標準入力(ヒョウジュンニュウリョク)」です。
プログラムさんに入ってくるものが通る管です。
オフライン
バージョン 2.26 以降は GPT にも対応しているそうです。
man sfdiskで確認しました。感謝
>sfdisk は、バージョン 2.26 以来、MBR (DOS), GPT, SUN, SGI のディスクラ
ベルをサポートしている
>man を見ても英語な上に... そもそも内容がむずかしいですね...
いえいえ、Google 翻訳 https://translate.google.com/?hl=ja で日本語化しています。
日本語化されたmanでも、これを読むのも困難、実戦使用はなお困難――という感じ。
というのは「どこに力点があるのか?」「予備知識のない初心者はどこから読み、どう練習していくのか」がない。ズラズラと羅列的に百科事典的に書かれてるから?
オフライン
yaneno-suzume による投稿:
再インストールの際にパーティションを切る作業を省略にも使えるのですか?
使えるでしょう。
「パーティションを切る」というのは「パーティションテーブルを書き換える」ことにほかなりません。
以後はパーティションテーブルに書かれたようにディスクが使われていくことになります。それはサイズが異なる物理ディスクにも使用できるのですか?
パーティションテーブルにはディスクの個体名にあたるUUIDやサイズや第2GPTヘッダーの位置(=ディスクの末尾)も書かれているため、できません。
こんご、どこかの参考ページで
再インストールの際にパーティションを切る作業を省略
が提示されていて、それをマネっ子する場合に遭遇しない限り、このテクニックを使用することはないと思う。同一サイズの物理ディスクなどもっていないため。
今までどおりライブUSBメモリ起動してcalamares installer使用でパテ切りすると思う。
なぜCalamares(カラマレス)いっぺんとう かというと、debianでシステムパテ?を最初の
インストール時からbtrfsにできるようになったのは最近で11からと聞きました。自分は5ちゃんでromってるときに、この情報を把握して挑戦しました。カラマレス使用の場合に限りかんたんにbtrfs+timeshift環境を手に入れることができるのです。
ありがとうございました!
オフライン