我正在尝试进行备份(我的手机内置存储卡分区的直接dd图像到我的PC.我正在使用Linux而我的手机是Nexus 4.
我试图将我用汇编语言编写的引导加载程序转换为ISO映像文件.以下是MikeOS bootloader 的代码.这是我的引导程序代码:
BITS 16
start:
mov ax, 07C0h ; Set up 4K stack space after this bootloader
add ax, 288 ; (4096 + 512) / 16 bytes per paragraph
mov ss, ax
mov sp, 4096
mov ax, 07C0h ; Set data segment to where we're loaded
mov ds, ax
mov si, text_string ; Put string position into SI
call print_string ; Call our string-printing routine
jmp $ ; Jump here - infinite loop!
text_string db 'This …Run Code Online (Sandbox Code Playgroud) 我们如何将例如10个字节的'7'复制到文件中?
如何生成7个10字节?
例如,我正在做n个零字节dd if=/dev/zero of=myFile bs=1 count=10.
我注意到在Laravel的Controller中写作:
dd($array)
Run Code Online (Sandbox Code Playgroud)
在Chrome Developer Tools(chome 61.0.3163.91 64位,MAC OS)中输出一个未结构化的数组视图.
我有'错误的记忆'吗?
或者,如果dd()确实在devtools中输出结构化数组,我该如何将它带回来?
我通过发出以下命令成功备份了我的SD卡两次
sudo dd if=/dev/sdb of=/home/user/Documents/raspi/images/raspi1.v2.iso bs=1M
Run Code Online (Sandbox Code Playgroud)
但是,现在它给了我以下错误:
dd: reading `/dev/sdb': Input/output error
3027+1 records in
3027+1 records out
3174977536 bytes (3.2 GB) copied, 200.723 s, 15.8 MB/s
Run Code Online (Sandbox Code Playgroud)
环顾网络,这似乎表明SD卡已损坏.但是,我的raspi(我用这张SD卡运行)运行良好(ish)和磁盘工具声称SD卡没有损坏.
有没有其他方法可以找出为什么dd抱怨,如果卡已损坏,如果是,如何修复SD卡.
更新:
我放弃了尝试dd在SD卡上运行,但我确实弄清楚了什么损坏了我的SD卡,这是在本网站上指定的Raspi固件的更新
我是一名狂热的 Linux 用户,但在工作中被迫使用 Windows。我被允许在工作计算机上安装 WSL2 和 Ubuntu。我想在 WSL2 中使用 dd 刻录可启动 USB,但无法弄清楚如何获取该设备,因为 lsblk 不提供连接到计算机的外部块设备。我知道我可以在 Rufus 之类的东西上做到这一点,但由于它是一台工作计算机,所以我不允许在计算机上获取类似的东西。
StackOverflow上只有一个这样的问题,但它已关闭并且没有给出答案。然而,它确实为我开始寻找物理设备名称提供了线索。利用这条线索,我找到了这个问题的答案,并想分享它,因为我不仅在 StackOverflow 上找不到答案,而且在互联网上的其他任何地方都找不到答案。
在shell脚本中我需要将输出从dd命令重定向到/ dev/null - 如何做到这一点?
(dd if =/dev/zero of = 1.txt count = 1)2>&1/dev/null
没用!
我有一个大文件,我只对前几兆字节感兴趣.
如何从unix/linux中的大文件中提取第一个x-megabyte并将其放入单独的文件中?
(我知道split命令可以将文件拆分成多个部分.使用bash脚本我可以删除我不想要的部分.我希望更简单的方法)
我正在尝试在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?
如果我在文件系统上有一个文件,我可以用 dd 做这样的事情:
dd if=/my/filewithaheader.bin bs=32k skip=1 | gunzip | tar tvf
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试这样的事情:
./commandthatputsstuffonstdout | dd bs=32k skip=1 | gunzip | tar tvf
Run Code Online (Sandbox Code Playgroud)
我收到错误:
dd: 'standard input': cannot skip to specified offset。
我该如何解决这个问题,可以用 dd 来完成,还是有另一个我可以使用的 unix 命令
dd ×10
linux ×5
android ×1
assembly ×1
backup ×1
bash ×1
command-line ×1
flash ×1
flash-memory ×1
image ×1
nasm ×1
osdev ×1
partition ×1
php ×1
powershell ×1
shell ×1
stdout ×1
unix ×1
windows-subsystem-for-linux ×1
wsl-2 ×1