制作实时 Ubuntu 安装程序后损坏的 Pendrive

ran*_*cho 7 live-usb partitioning boot gparted dd

我有sandisk 8GB

我安装了kali linux。我试图创建可启动的实时 Ubuntu pendrive。我去了终端并发出以下命令:

sudo dd if=/dev/zero of=/dev/sdb bs=1k count=2048

sudo parted /dev/sdb mklabel msdos

sudo parted -a none /dev/sdb mkpart  primary fat32 0 2048

mkfs.vfat -n "Disk" /dev/sdb1

sudo dd if=./ubuntu.iso of=/dev/sdd bs=8129
Run Code Online (Sandbox Code Playgroud)

它成功地为 Ubuntu 创建了可启动的实时 USB 安装程序。

在使用 Ubuntu 和 Kali linux 双启动我的笔记本电脑后,我现在需要 Pendrive 来存储数据

它显示的容量仅为 64 MB。我使用dd命令重新格式化它,但这无济于事。我也用过,gparted但这没有帮助。

现在做什么?

Jon*_*sCz 5

您可以尝试在 Gparted 的设备菜单下选择“创建分区表”,以对其进行完全重新格式化。(选择 msdos 作为分区表类型)。然后,您应该能够在 U 盘上创建一个新分区。


如果这不起作用,一个非常简单(但很慢,我相信有更好的方法)解决这个问题的方法是简单地用 覆盖整个驱动器dd,通过使用这样的东西:

sudo dd if=/dev/zero of=/dev/sdb bs=4M
Run Code Online (Sandbox Code Playgroud)

这将用零覆盖整个内容,之后您应该能够创建一个分区表和一个带有 Gparted 的分区,如上所述。


ran*_*cho 1

我终于成功解决了这个问题。一旦你获得了基本的了解,这就很容易了。最重要的是,在 Linux 中你永远不应该使用图形用户界面并始终坚持使用终端。我在终端中执行了以下操作:

sudo su
Run Code Online (Sandbox Code Playgroud)

这使我默认为 sudo 用户,而无需每次都首先放置 sudo

fdisk -l
Run Code Online (Sandbox Code Playgroud)

这将检查当前磁盘。因此我可以安全地确定我的随身碟是 sdb。dd 是破坏性命令,必须针对正确的驱动器谨慎使用

dd if=/dev/zero of=/dev/sdb bs=4M
Run Code Online (Sandbox Code Playgroud)

这会用零覆盖整个磁盘。它会擦除所有现有的文件系统和分区表。此时的磁盘已无用处。

parted /dev/sdb
Run Code Online (Sandbox Code Playgroud)

这将启动parted程序,这是一个强大的CLI程序,用于创建分区表

mklabel gpt
Run Code Online (Sandbox Code Playgroud)

这将为磁盘创建 gpt 分区表

quit
Run Code Online (Sandbox Code Playgroud)

这将退出分开的程序

mpunt -a
Run Code Online (Sandbox Code Playgroud)

更改或创建新分区表后,必须重新加载 /etc/fstab。这可以通过重新启动计算机来完成。然而,这一行终端命令也做同样的工作

umount /dev/sdb
Run Code Online (Sandbox Code Playgroud)

现在,为了创建不同文件系统的分区,必须先卸载 /dev/sdb

mkfs -t ext4 -L SANDISK /dev/sdb
Run Code Online (Sandbox Code Playgroud)

这将创建 ext4 类型的文件分区。这里 -t 参数用于文件类型。-L 参数用于磁盘的标签。这里磁盘被命名为“SANDISK”

就是这样