起動しません无法启动
发表于 : 2019-10-13 13:39
rsyncでSamsung500GBからseagate160GBに既存のパーティションからデータを丸ごと流し込みました。
使用rsync,现有分区中的全部数据从Samsung500GB注入了seagate160GB。 1.从把seagate160GB作为主盘设定了的机器Lubuntu Live USB「UEFI引导」
2.UEFI开机后的Lubuntu Live是英文版的,所以日语化
3.挂载sda2,chroot
4.把fstab改写成符合环境的东西
5.在chroot环境中卸载BIOS用grub,安装UEFI用grub
6.设置已安装的grub并写入EFI分区(FAT32分区,该分区具有与MBR表格的主引导码相同的作用)
7.摆脱chroot,重新启动
=================================================
#! /bin/bash
echo -e "\n现在显示分区的UUID "
sleep 5
echo -e "\n显示UUID 10秒后在文本编辑器中打开fstab "
sleep 5
echo -e "\n请复制sda2的UUID,与表示根分区的行的「UUID=」以后的连字符串交换。”
sleep 10
# 载入驱动器和复制脚本
mount /dev/sda2 /mnt
mkdir /mnt/boot/efi
cp ./grub.sh /mnt
cp ./uuid.sh /mnt
# 重写chroot目标存储库perl -pi.origin -e 's;http[^ ]+( bionic.*)(main|universe|multiverse|restricted);http://ftp.jaist.ac.jp/pub/Linux/ubuntu/$1$2;' /mnt/etc/apt/sources.list
perl -pi.bak -e 's;^(127.0.1.1.*\n);$1 150.65.7.130 ftp.jaist.ac.jp\n' /mnt/etc/hosts
# 删除重写仓库的额外行首空间
perl -pi -e 's;^ ;;' /mnt/etc/hosts
# 整形显示UUID
echo -e "\n#####################每个分区的UUID ########################"
sleep 3
echo -n -e "\n"
ls -l /dev/disk/by-uuid | \
grep -v 合計 | \
perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+/(.+)$;\1 <--(\2のUUID);' | \
sort -k 2 -t "(";
echo -e '\n######## 将相应的地方复制到fstab,覆盖保存 。##############'
echo -n -e "\n"
# 在后台重写EFI&swap分区的UUID
echo '# Swap Partition' >> /mnt/etc/fstab
echo UUID=`ls -l /dev/disk/by-uuid | grep sda3 | perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+$;\1;'`' 'none' 'swap' 'sw' '0' '0 >> /mnt/etc/fstab
echo -e "\n" >> /mnt/etc/fstab
echo '# EFI Partition' >> /mnt/etc/fstab
echo UUID=`ls -l /dev/disk/by-uuid | grep sda1 | perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+$;\1;'`' '/boot/efi' 'vfat' 'umask=0077,noatime' '0' '1 >> /mnt/etc/fstab
sleep 10
# leafpad起動
echo -e "\n打开echo-e"\n文本编辑器。请在覆盖保存后关闭文本编辑器。"
sleep 3
leafpad /mnt/etc/fstab && \
# 显示要复制的命令
echo -e "\n\n到此结束fstab的修正。下次chroot进行grub的设定吧。”
sleep 3
echo -e "显示\nchroot程序。在\n\n脚本完成后,请在这个终端上从上面依次复制执行。n\nchroot之后,请使用此脚本运行自动复制的脚本。"
sleep 3
echo -e "\ncd /mnt"
sleep 3
echo -e "\nmount --rbind /dev dev"
sleep 3
echo -e "\nmount --rbind /proc proc"
sleep 3
echo -e "\nmount --rbind /sys sys"
sleep 3
echo -e "\nchroot /mnt /bin/bash --login"
sleep 3
echo -e "\n##### 如果到目前为止执行,并且当前目录显示为\"/\"则chroot成功 #####"
sleep 5
echo -e "\n##### chroot之后执行的命令 #####"
sleep 3
echo -e "\nbash grub.sh"
sleep 5
# Shell脚本结束
exit 0
echo -e "\n打开echo-e"\n文本编辑器。请在覆盖保存后关闭文本编辑器。"
sleep 3
leafpad /mnt/etc/fstab && \
# 显示要复制的命令
echo -e "\n\n到此结束fstab的修正。下次chroot进行grub的设定吧。”
sleep 3
echo -e "显示\nchroot程序。在\n\n脚本完成后,请在这个终端上从上面依次复制执行。n\nchroot之后,请使用此脚本运行自动复制的脚本。"
使用rsync,现有分区中的全部数据从Samsung500GB注入了seagate160GB。 1.从把seagate160GB作为主盘设定了的机器Lubuntu Live USB「UEFI引导」
2.UEFI开机后的Lubuntu Live是英文版的,所以日语化
3.挂载sda2,chroot
4.把fstab改写成符合环境的东西
5.在chroot环境中卸载BIOS用grub,安装UEFI用grub
6.设置已安装的grub并写入EFI分区(FAT32分区,该分区具有与MBR表格的主引导码相同的作用)
7.摆脱chroot,重新启动
=================================================
#! /bin/bash
echo -e "\n现在显示分区的UUID "
sleep 5
echo -e "\n显示UUID 10秒后在文本编辑器中打开fstab "
sleep 5
echo -e "\n请复制sda2的UUID,与表示根分区的行的「UUID=」以后的连字符串交换。”
sleep 10
# 载入驱动器和复制脚本
mount /dev/sda2 /mnt
mkdir /mnt/boot/efi
cp ./grub.sh /mnt
cp ./uuid.sh /mnt
# 重写chroot目标存储库perl -pi.origin -e 's;http[^ ]+( bionic.*)(main|universe|multiverse|restricted);http://ftp.jaist.ac.jp/pub/Linux/ubuntu/$1$2;' /mnt/etc/apt/sources.list
perl -pi.bak -e 's;^(127.0.1.1.*\n);$1 150.65.7.130 ftp.jaist.ac.jp\n' /mnt/etc/hosts
# 删除重写仓库的额外行首空间
perl -pi -e 's;^ ;;' /mnt/etc/hosts
# 整形显示UUID
echo -e "\n#####################每个分区的UUID ########################"
sleep 3
echo -n -e "\n"
ls -l /dev/disk/by-uuid | \
grep -v 合計 | \
perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+/(.+)$;\1 <--(\2のUUID);' | \
sort -k 2 -t "(";
echo -e '\n######## 将相应的地方复制到fstab,覆盖保存 。##############'
echo -n -e "\n"
# 在后台重写EFI&swap分区的UUID
echo '# Swap Partition' >> /mnt/etc/fstab
echo UUID=`ls -l /dev/disk/by-uuid | grep sda3 | perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+$;\1;'`' 'none' 'swap' 'sw' '0' '0 >> /mnt/etc/fstab
echo -e "\n" >> /mnt/etc/fstab
echo '# EFI Partition' >> /mnt/etc/fstab
echo UUID=`ls -l /dev/disk/by-uuid | grep sda1 | perl -p -e 's;^.+\d{2}:\d{2} ([^ ]+).+$;\1;'`' '/boot/efi' 'vfat' 'umask=0077,noatime' '0' '1 >> /mnt/etc/fstab
sleep 10
# leafpad起動
echo -e "\n打开echo-e"\n文本编辑器。请在覆盖保存后关闭文本编辑器。"
sleep 3
leafpad /mnt/etc/fstab && \
# 显示要复制的命令
echo -e "\n\n到此结束fstab的修正。下次chroot进行grub的设定吧。”
sleep 3
echo -e "显示\nchroot程序。在\n\n脚本完成后,请在这个终端上从上面依次复制执行。n\nchroot之后,请使用此脚本运行自动复制的脚本。"
sleep 3
echo -e "\ncd /mnt"
sleep 3
echo -e "\nmount --rbind /dev dev"
sleep 3
echo -e "\nmount --rbind /proc proc"
sleep 3
echo -e "\nmount --rbind /sys sys"
sleep 3
echo -e "\nchroot /mnt /bin/bash --login"
sleep 3
echo -e "\n##### 如果到目前为止执行,并且当前目录显示为\"/\"则chroot成功 #####"
sleep 5
echo -e "\n##### chroot之后执行的命令 #####"
sleep 3
echo -e "\nbash grub.sh"
sleep 5
# Shell脚本结束
exit 0
echo -e "\n打开echo-e"\n文本编辑器。请在覆盖保存后关闭文本编辑器。"
sleep 3
leafpad /mnt/etc/fstab && \
# 显示要复制的命令
echo -e "\n\n到此结束fstab的修正。下次chroot进行grub的设定吧。”
sleep 3
echo -e "显示\nchroot程序。在\n\n脚本完成后,请在这个终端上从上面依次复制执行。n\nchroot之后,请使用此脚本运行自动复制的脚本。"