小编Noi*_*oir的帖子

使用 Clonezilla 将大分区还原为小分区

前段时间我用 Clonezilla 创建了一个 EXT4 分区的备份。现在硬盘坏了,我丢失了一些重要数据。

分区的镜像大小为 50GB。我试图将这个映像恢复到 200GB 的 HDD,但结果原始分区的大小为 500GB。由于我没有用于转储的 500GB 硬盘驱动器,我想出了如何通过传递-C给 partclone来强制 Clonezilla 忽略它。但是在恢复时它因错误而停止target seek ERROR:Invalid argument

我可以想象分区上的数据是碎片化的,因此实际位图不适合。有解决方法吗?我有一个大约 600GB 的可用硬盘,但我不喜欢触摸分区表之类的东西。理想情况下是一种将其恢复为可安装映像的方法。(ISO或类似)

partition backup data-recovery clonezilla

7
推荐指数
1
解决办法
2万
查看次数

使用 XMP 批量转换模块文件

我有以下脚本将一大堆 .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”,它就可以正常工作。

任何想法/解决方法?

ffmpeg audio shell-script conversion

6
推荐指数
1
解决办法
890
查看次数

使用 Realtek RTS522A 读卡器检测某些 SanDisk SD 卡失败

我正在使用 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”与内置读卡器配合良好。

闪迪SDSQUAR-128G-GZFMA

但是卡类型“SDSQXA2-064G-GN6MA”没有。

闪迪SDSQUAR-128G-GZFMA

当我插入卡时,出现以下错误:

mmc0: error -110 whilst initialising SD card
Run Code Online (Sandbox Code Playgroud)

当我使用 USB 读卡器时,该卡被检测到并正常工作。我已经测试了 3 种相同类型的不同卡,并在我的 Arch Linux 和 Manjaro 安装上都进行了尝试,但行为是相同的。虽然无法在 Windows 上测试它。

这是一个错误还是我做错了什么?

drivers thinkpad sd-card manjaro

5
推荐指数
0
解决办法
1248
查看次数

正则表达式不适用于 grep

我有一个这样的字符串

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\)'

还返回空结果。

我觉得有点傻

grep awk busybox regular-expression ash

2
推荐指数
1
解决办法
1264
查看次数