私はGentooでボックスを実行しています。ボックスはサーバーです(GUIはなく、SSHのみがあります)。
カーネルを生成するためにgenkernelを使用したので、特定の場所を占める複数のイメージ(System.map、initramfs、カーネル)が生成されることがわかりました。
$ du -ahd1|sort -k1h
0 ./boot
0 ./.keep
12K ./lost+found
1.4M ./memtest86plus
2.4M ./System.map-genkernel-x86_64-4.9.34-gentoo
2.7M ./System.map-genkernel-x86_64-4.12.5-gentoo
3.7M ./kernel-genkernel-x86_64-4.9.34-gentoo
4.2M ./initramfs-genkernel-x86_64-4.9.34-gentoo
8.1M ./grub
8.3M ./kernel-genkernel-x86_64-4.12.5-gentoo
31M
実際、私の/bootパーティションサイズは32Mにすぎず、それに適したサイズ(256Mなど)にサイズを変更したいと思います。
私は/dev/sda
参考用としてIntel SSDです(以前のモデルにもかかわらず)。
$ lsblk /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 37.3G 0 disk
├─sda2 8:2 0 37.2G 0 part /
└─sda1 8:1 0 32M 0 part /boot
特定の状況(ディスクの終わりなど)では、パーティションを拡張して縮小できることがわかります。私もそれが危険であることを知っており、良いGUIを使用せずにそれを行うほど自信がありません。
私はこれを行うことができますか?
/dev/sda2
スペースを確保するには縮小してください。/dev/sd3
次に作成してマウントしました/new_boot
- 内容全体をコピーします
/boot
(/new_boot
単純なコピーを投げるか、ddを投げますか?) - 交換
/boot
する/new_boot
- ドロップ
/dev/sda1
とサイズ変更/dev/sda2
それとも、より良い解決策がありますか? (サーバーに物理的にアクセスできます)
答え1
ルートパーティションを使用して以下を保存します/boot
。
mount --move /boot /elsewhere
またはそれとumount /boot
それmount
/elsewhere
- すべてのコンテンツの権利と所有者を維持しながら、のコンテンツを
/elsewhere
現在(おそらく)空の場所にコピーします()。/boot
cp -a /elsewhere/. /boot
umount /elsewhere
/boot
から削除/etc/fstab
- grubのアップデート(
grub-install
可能であればGentooラッパーがある場合) - 再起動
/boot
空にするかリサイクルする前に、すべてが正常であり、古いパーティションの何も使用されていないことを確認してください(個人的には32Mではリスクを負いません)。