dd:打开`/ dev/sdb':权限被拒绝

Gui*_*ada 6 flash dd

我正在尝试在CF卡中写入一个linux映像,如*所示:

当我做:

sudo bzcat debian-for-alix-cf2g.img.bz2 | dd of=/dev/sdb bs=16k
Run Code Online (Sandbox Code Playgroud)

我明白了:

dd: opening `/dev/sdb': Permission denied
Run Code Online (Sandbox Code Playgroud)

我可以在mtab中看到/ dev/sdb对应于连接到USB端口的目标CF.

mtab文件中的行是

/dev/sdb1 /media/2020-2020 vfat rw,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush 0 0
Run Code Online (Sandbox Code Playgroud)

在执行之前

sudo bzcat debian-for-alix-cf2g.img.bz2 | dd of=/dev/sdb bs=16k
Run Code Online (Sandbox Code Playgroud)

我卸下了设备

umount /media/2020-2020
Run Code Online (Sandbox Code Playgroud)

为什么我不能写入/ dev/sdb?

Ble*_*der 9

尝试以root身份运行它:

user ~ $ sudo -s
Password: 
root ~ # bzcat debian-for-alix-cf2g.img.bz2 | dd of=/dev/sdb bs=16k
Run Code Online (Sandbox Code Playgroud)

您尝试的方式不起作用可能是因为前置sudo运行bzcat以root身份运行,但不是dd.


小智 5

或将sudo放在管道之后,| 须藤dd ...

sudo bzcat debian-for-alix-cf2g.img.bz2 | sudo dd of=/dev/sdb bs=16k
Run Code Online (Sandbox Code Playgroud)

尽管这可能会要求两次密码,所以我实际上更喜欢使用sudo -s或sudo -i