贡献者: addis
sudo dd
是一个很危险的命令,它直接操作硬盘上的任意位置的数据,无论是否被挂载。sudo dd if=/dev/random of=/dev/sda
会把整个硬盘包括分区方式(MBR,GPT)等所有信息抹掉
dd if=/dev/sda of=/data/disk.img bs=446 count=1
,还原同理,但还原最好只用 440 字节
dd
把一个硬盘的分区克隆的另一个硬盘的分区后(两个分区大小必须完全相同),再 clone MBR 用 dd if=/dev/sda of=/dev/sdc bs=440 count=1
sudo dd if=/dev/zero of=/dev/sdx bs=440 count=1
Gparted
是一个 GUI 硬盘分区工具,在 Ubuntu live CD 中自带
GParted
使用 e2image -ra -p /dev/sda1 /dev/sdb1
来复制分区,没有数据的部分不会复制,Arch Wiki 中的 “disk cloning” 词条列出了很多工具。用 e2image
来备份和恢复参考这里。
sda, sdb
等编号是不稳定的,可能重启等操作之后会变
fdisk -l
查看所有挂载的硬盘
lsblk
也可以查看
resize2fs -p /dev/sd? ???K
可以改变 ext4 文件系统的大小,Gparted 用的就是这个命令。这个命令需要很长时间。
mklabel
修改分区的 label
mkfs.ext4 /dev/sdx1
或者 mke4fs -t ext4 /dev/sdb1
把某个分区格式化为 ext4
extFAT
在 Ubuntu 中并不怎么支持 resize 和移动,还是用 windows 的傲梅比较好
/etc/fstab
uid=1000,gid=1000
是当前登录用户的 user/group id。
NTFS
的设置是 LABEL=mydrive2 /mnt/drive2 ntfs-3g nofail,x-gvfs-show,uid=1000,gid=1000 0 0
exFAT
的设置是 LABEL=mydrive1 /mnt/drive1 exfat nofail,x-gvfs-show,uid=1000,gid=1000 0 0
LABEL=
或者 UUID=
,第二列是 mount point,第三列是文件系统,用 auto
可以自动检测。第四列是一些选项,nofail
是即使硬盘没有插入也不会报错,x-gvfs-show
是在 gnome 文件浏览器和 taskbar 中显示。uid
和 gid
是挂载后文件的 owner,1000
是当前用户。
可以把多个物理硬盘融合为一个逻辑硬盘,见 Logical Volume Management(LVM)笔记。
grub-customizer
, 可以设置 grub 菜单,记住上次的选择,检测新系统,等。
os-prober
也可以发现新系统并加入 grub 菜单(会被 grub-customizer 使用)
/boot/grub/grub.cfg
,GPT 的在 /boot/efi/EFI/ubuntu/grub.cfg
lilo
是一个可以安装 generic windows boot loader on MBR 的命令
sda, sdb
等在 grub2 命令行里面的 ls 名字叫做 hd1, hd2...
sudo grub-install /dev/sd#
可以在某个硬盘中安装 grub (注意如果硬盘只有一个分区的话,分区名和硬盘名相同,安装可能就会出错)
grub-install
可能使用 grub-pc
包也可能使用 grub-efi-amd64
包。前者给 MBR 硬盘安装,后者给 GPT 硬盘安装。它们可以同时安装。
failed to get canonical path of...
就用 sudo grub-install /dev/sdX --root-directory=/mnt/[mount point directory]
will not proceed with blocklist
,就在安装命令后面加 --force
。
df
只会显示已挂载的硬盘,而 fdisk
或者 disk, gparted
软件才会显示所有连接的硬盘
sudo dd bs=4M if=/path/to/ISOfile of=/dev/sda status=progress oflag=sync
注意 sda
后面不能有数字! 这样 dd
会把整个硬盘克隆成 iso 的内容而无视之前的任何 partition table 和分区。此时 u 盘和光盘完全等效,都是只读的(亲测成功).
/boot/grub/grub.cfg
或者 grub.config
定义的
sudo grub-install ...
在新硬盘上面安装 grub(如果说什么不推荐用啥不稳定的,就在后面加 --force). 然后再把原来的 grub.cfg 拷贝到新硬盘就好了(不确定新安装 grub 会不会把 cfg 重置).
blkid
可以查看所有分区的 uuid
tune2fs -U random /dev/sdb?
, disk 中会看到变化,如果 blkid 看见 uuid 没有变化,就 mount 再 umount 即可刷新
fdisk
也可以改变 uuid, sudo fdisk /dev/sd?
然后按 x 再按 i 即可
以下步骤亲测成功。
dd
命令备份并拷贝 MBR
grub-install /dev/sd?
重新安装 grub,确认目标硬盘中 /boot/grub/grub.cfg
配置文件中所有 UUID 都是新分区的 UUID 而不是老的。如果是老的就全部替换。
sudo add-apt-repository universe
sudo apt update
sudo apt install exfat-fuse exfat-utils
 
 
 
 
 
 
 
 
 
 
 
友情链接: 超理论坛 | ©小时科技 保留一切权利