破損したシステムで自動的にchroot

破損したシステムで自動的にchroot

grubを修復するためにlive-boot-CDでシステムをマウントし、システムから起動する必要があるたびにchroot正しいパーティションにマウントするには、複数行を入力する必要があります。

fdisk -l

たとえば、正しいパーティションを見つけます。/dev/sda1

mount /dev/sda1 /mnt/
mount -t proc none /mnt/proc
mount -o bind /dev /mnt/dev
mount -t sysfs sys /mnt/sys
chroot /mnt/

単一のスクリプトでこれを最適化する方法はありますか?

ベストアンサー1

このスクリプトをmount-rootUSBデバイスにコピーする

#!/bin/bash
if [ "$(whoami &2>/dev/null)" != "root" ] && [ "$(id -un &2>/dev/null)" != "root" ] ; then
 echo "You must be root to run this script!"; echo "use 'sudo !!'"; exit 1
fi


if [ $# -ne 2 ]; then
 echo "calling this script with only two options with the device and mountpoint"
 echo "for example"
 echo "mount-root /dev/sda1 /media/other/"
 set -x
 fdisk -l
 lsblk -f
 exit
fi

D=$(echo $1 | sed 's:/$::')
M=$(echo $2 | sed 's:/$::')

echo mounting $D to $M

mkdir -p $M

mount $D $M
mount -t proc none $M/proc
mount -o bind /dev $M/dev
mount -t sysfs sys $M/sys
mount --bind /dev/pts $M/dev/pts
cp /proc/mounts $M/etc/mtab
chroot $M/ /bin/bash

源泉:https://gist.github.com/rubo77/eac3313ea5302acfca60

おすすめ記事