前段时间我用 Clonezilla 创建了一个 EXT4 分区的备份。现在硬盘坏了,我丢失了一些重要数据。
分区的镜像大小为 50GB。我试图将这个映像恢复到 200GB 的 HDD,但结果原始分区的大小为 500GB。由于我没有用于转储的 500GB 硬盘驱动器,我想出了如何通过传递-C
给 partclone来强制 Clonezilla 忽略它。但是在恢复时它因错误而停止target seek ERROR:Invalid argument
。
我可以想象分区上的数据是碎片化的,因此实际位图不适合。有解决方法吗?我有一个大约 600GB 的可用硬盘,但我不喜欢触摸分区表之类的东西。理想情况下是一种将其恢复为可安装映像的方法。(ISO或类似)
我有以下脚本将一大堆 .MOD 和 .XM 文件转换为 Wave 格式:
#!/bin/bash
for f in ./XM.* ./MOD.*
do
xmp $f -d wav -o - | ffmpeg -i - -acodec libmp3lame -ab 320k "$f.mp3"
done
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作。程序就挂了。它创建了 .wav 文件,但仅此而已。(不写在其中)甚至 -vvv 开关也不提供任何信息。奇怪的是:如果我在前面加上“strace”,它就可以正常工作。
任何想法/解决方法?
我正在使用 Thinkpad X380 Yoga。
$ lspci | grep Card
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS522A PCI Express Card Reader (rev 01)
$ uname -a
Linux TPx380 4.19.6-1-MANJARO #1 SMP PREEMPT Sat Dec 1 12:21:26 UTC 2018 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
SD 卡类型“SDSQUAR-128G-GZFMA”与内置读卡器配合良好。
但是卡类型“SDSQXA2-064G-GN6MA”没有。
当我插入卡时,出现以下错误:
mmc0: error -110 whilst initialising SD card
Run Code Online (Sandbox Code Playgroud)
当我使用 USB 读卡器时,该卡被检测到并正常工作。我已经测试了 3 种相同类型的不同卡,并在我的 Arch Linux 和 Manjaro 安装上都进行了尝试,但行为是相同的。虽然无法在 Windows 上测试它。
这是一个错误还是我做错了什么?
我有一个这样的字符串
TEST="/dev/sda1 on /media/sda1 type vfat (rw,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,quiet)"
Run Code Online (Sandbox Code Playgroud)
(结果来自mount | grep sda1
)
我想匹配挂载点的地方。我的正则表达式(从这里采用)是
(?<=on[ \t])(.*)(?=[ \t]type)
但由于某些原因,它不适用于我使用多种工具(Busybox ash 1.14.2):
echo $TEST | grep -o -e '(?<=on[ \t])(.*)(?=[ \t]type)'
给我没有结果。
echo $TEST | awk 'match($0, /(?<=on )(.*)(?= type)/){print $0}'
返回错误 awk: bad regex '(?<=on[ ])(.*)(?=[ ]type)': Invalid preceding regular expression
expr match "$TEST" '\(?<=on[ \t]\)\(.*\)\(?=[ \t]type\)'
还返回空结果。
我觉得有点傻
ash ×1
audio ×1
awk ×1
backup ×1
busybox ×1
clonezilla ×1
conversion ×1
drivers ×1
ffmpeg ×1
grep ×1
manjaro ×1
partition ×1
sd-card ×1
shell-script ×1
thinkpad ×1