分类: IT生活

Enter to DFU mode without press any buttons | 不用按键,使用工具轻松进入DFU

URL for Download | 下载地址

Click Here To Download DFU Tools

HOWTO:

This tools can enter to DFU mode without press any button. It’s a Windows version. But an iBoot update can cause it not working, I not sure, it working or doesn’t working now.

UPDATE: I tried. It’s only work on an iPhone 3GS, and maybe iPhone 3G/2G(I can’t test). But it is not work on iPhone 4 or a newer iDevice.

1.Unzip this tools to C:\dfu (and connect you iPhone).
2.Press “Start menu” –> “run” –> type cmd
3.type

C:\dfu\dfu iBSS.m68ap.RELEASE.dfu

4.iPhone will reboot and got a white screen, it’s a special DFU mode, jailbreak/restore your iPhone now!

指南:

这个工具可以在不按任何按键的情况下将iPhone进入DFU模式。这是一个Windows版本。但是如果苹果更新了它的iBoot,这个程序可能会失效,我不确定它现在是否正常。

更新:经过测试,只有在iPhone 3GS上工作正常,也许还能工作在iPhone 3G/2G上(我无法测试)。但是iPhone 4或之后的设备不可以使用。

1.将文件解压到C:\dfu(同时连接你的iPhone)
2.点击“开始菜单” –> “运行” –> 输入 cmd
3.在命令提示符中输入:

C:\dfu\dfu iBSS.m68ap.RELEASE.dfu

4.iPhone会自动重启,而且会白屏。你现在已经进入了一个特殊的DFU模式,赶快进行越狱/还原操作吧!

Gentoo GCC报错解决

今天,比尔盖子在更新了GCC之后,运行了emerge –depclean。然后GCC就不工作了!
每当运行GCC,就得到一个提示:

 

* gcc-config: Active gcc profile is invalid!
[1] i686-pc-linux-gnu-4.5.3

 

比尔盖子吓坏了,因为如果GCC被误删了,那么比尔盖子就没法安装任何软件了,怎么办呢……后来,比尔盖子搜索了一下这个错误提示,发现解决方案原来这么简单!

#第一步依然会报错,不要紧张,这是预料之中的事情。
#你需要在第一条命令报错后接着运行下面的命令
gcc-config -c
gcc-config i686-pc-linux-gnu-4.5.3
gcc-config -c

然后GCC就正常了,世界又恢复了美好……

后来反思了一下报错的原因,比尔盖子认为原因应该是:比尔盖子的系统在删除旧版本GCC之前,有两个GCC并存,而且默认使用旧版本GCC。而现在删掉旧版本的GCC之后,由于系统内所有的配置文件都指向旧版本GCC,但旧版本GCC已经不存在了,GCC还能工作吗?而上面的命令,就是将配置文件改成新版本GCC,最终让GCC恢复正常。

 

按照最新规范修改启动脚本

话说比尔盖子转换完文件系统之后,发现开机的时候有一些Warning。具体内容如下:

Use of the opts variable is deprecated and will 
be removed in the future. Please use extra_commands or extra_started_commands.

也就是说,只要把init启动脚本中的”opts=”改成”extra_commands=”就OK了。但是,这项工作也太繁琐了。最终在Gentoo论坛上找到了解决方法,翻译过来,比尔盖子再修改一下,大致是:

注意,这个方法很快捷,同时也很脏。容易出现问题!

用root执行:

cd /etc/init.d
mkdir /root/init.d_backups
cp * /root/init.d_backups
sed -e 's:opts=:extra_commands=:g' -e 's:${opts}:${extra_commands}:g' -e 's:$opts:$extra_commands:g' /etc/init.d/* -i

重启。如果系统没挂,而且启动之后的Warning都消失了,就继续用root执行:

rm -r /root/init.d_backups

如果系统挂了,很简单,用LiveCD启动系统,chroot之后(方法你应该懂得),root执行:

rm -r /etc/init.d
cp /root/init.d_backups /etc/init.d

重启,进入系统吧,有Warning就有吧。反正不影响正常使用。最好别再试验了。

反正比尔盖子是一次成功了,重启之后,Warning都消失了!如果你有兴趣,不妨看看原帖:http://forums.gentoo.org/viewtopic-t-465367-start-175.html。

ext2 转换到 ext4!

比尔盖子的蜗牛笔记本在装上Gentoo后,终于变成蜈蚣了,速度快多了。
但是刚才突然想起,比尔盖子的/boot分区当时装机为了避免麻烦,没有使用ext4文件系统。虽然这几乎不会损失什么性能,但是比尔盖子还是想把它转换成ext4。

注意:请务必阅读“修复引导”部分,否则,到时候系统挂了比尔盖子就只能帮你了……如果你没有LiveCD,那么比尔盖子也帮不了你了。

初步转换

怎么转换呢?首先,要先把它转换成ext3,这两条命令盖子都已经背熟了:

#先卸载,后日志,再强检。完事以后挂载。ext2就变ext3!
umount /dev/hda1
tune2fs -j /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1

然后再转换成ext4,去网上查了查命令:

#先卸载,变结构,再强检。完事以后挂载。ext3就变ext4!
umount /dev/hda1
tune2fs -O extents,uninit_bg,dir_index /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1

性能优化

虽然转换完了,但是由于这样转换,虽然文件系统是ext4了,但是数据结构还是ext3。只有新的数据才是ext4格式。这不是瞎折腾吗?

这可通过整理磁盘碎片解决,但是由于ext4从来没有什么真正的“碎片”,因此磁盘碎片整理程序几年过去了还是没有稳定下来。但是,比尔盖子发现BFS调度器的作者:大名鼎鼎的澳大利亚黑客——CK,居然还写了一个能基本上无视文件系统,从抽象层就可以(我不知道我理解的是否正确,因此使用了删除符号,注意,这段内容仍然有效,只是我怕误导大家)整理磁盘碎片的bash脚本!

可以从这里获得:http://ck.kolivas.org/apps/defrag/defrag-0.08/defrag

把这个脚本放到你要整理的文件系统上,比如我要整理的是新的ext4分区:/boot。就把它放到/boot的根目录上,然后用root执行:

bash defrag
umount /dev/hda1
fsck -f /dev/hda1
mount /dev/hda1

在这里,为了防止这个脚本在整理磁盘碎片时胡乱破坏文件系统,因此再强制检查一次。稍等片刻,整理就完成了。现在可以删除这个脚本了。

引导修复

修复GRUB

需要注意的是,这时候如果你重新启动系统,那么你可能就再也进不去了!你只能看到永远的黑屏,没错,连内核信息都没有!

因为,文件系统转换以后,再加上用CK大神的脚本整理了磁盘碎片,因此我的/boot的GRUB已经有99%可能性已经被破坏了,因此,需要重装GRUB。

如果你转换/整理的文件系统不是引导分区,那么可以省略这步!

用root执行:

#因为比尔盖子的/boto分区是独立的,因此需要这样:
grub-install --root-directory=/boot /dev/hda1

如果提示没有错误,那么就说明GRUB已经修好了。

修改/etc/fstab

这一步是必需的,否则下一次将无法挂载修改后的文件系统。只能卡在内核提示的Kernel Panic的灾难信息上。

用root权限执行你喜欢的编辑器,比如Vim、Emacs,把里面的ext2改成ext4。

注意,如果你并没有转换某个ext2分区,请不要把它后面的ext2改成ext4。程序猿,Linuxer,你们懂得。

解决一个小Bug——Sendmail无法发送邮件

今天输入mail,发现root收到16000多封邮件,都是Cron发给我的。
我一看:

451 gmail.com: Name server timeout

天啊,这年头DNS也抽风?后来经过查阅资料,再加上一些回忆,终于想到了原因:
原来比尔盖子的VPS机房是支持IPv6的,可自从搬到日本去IPv6就没有了。但是Sendmail依赖IPv6,因此没有了它DNS也就查询不成功了。

解决这个问题的方法倒是挺简单:

cd /etc/mail
yum install sendmail-cf
#刚学会超级转义符号:单引号,用单引号引用的内容永远不会具有特殊含义,比双引号厉害。
#正好就用到了!
#下面这句话的意思是:在sendmail.mc的最后一行加上"dnl define(`confBIND_OPTS’, `WorkAroundBrokenAAAA’)dnl" 来屏蔽IPv6!
echo 'dnl define(`confBIND_OPTS’, `WorkAroundBrokenAAAA’)dnl' >> sendmail.mc
m4 sendmail.mc >sendmail.cf
make
service sendmail restart

然后,Sendmail终于把邮件发出去了!

防范普通U盘病毒的小方法

U盘病毒大概是最烦人的病毒了,有时候虽然由于存在杀毒软件,U盘病毒不会发作,但是也会有一些安全隐患。这回,比尔盖子探索了U盘病毒,想出了对付U盘病毒的两个办法:

1.Windows系统存在一个删不掉文件夹的Bug

DOS命令集:

mkdir RECYCLER
cd RECYCLER
mkdir a..\\\
cd ..
mkdir autorun.inf
cd autorun.inf
mkdir a..\\\
cd ..

2.创建NTFS文件夹autorun.inf和RECYCLER,然后取消所有用户的访问权限,

具体原理,下回分解。

主板杀手——金士顿KVR1333D3N9/4G内存

今年七月,比尔盖子攒了新电脑。一切都很顺利,但是8GB内存,比尔盖子还是嫌不够大,于是就购买了四条金士顿KVR1333D3N9/4G内存,想要打造16GB的工作站。

那天晚上,我将原本机箱中的海盗船内存拆除,安装了四条金士顿的内存。开机——显示器不亮!换回原内存后发现,同样点不亮,同时我闻到了一股来自机箱内部的东西烧焦了的味道。

最后,将主板免费返厂维修,更换新主板。更换了新主板之后,用的很好。今天早上,我有尝试安装金士顿KVR1333D3N9/4G内存,不过小心了一些。首先移除1根海盗船内存,可以开机,再移除剩余2根海盗船内存,只留一根,可以开机;移除所有内存,安装一根金士顿KVR1333D3N9/4G内存,开机,黑屏!换回一根海盗船内存,开机,黑屏!

天啊,以前听说过“死亡CPU”烧毁主板,而现在是“死亡内存”烧主板啊!无奈的登录华硕的网站,看我这种情况到底还能不还再次免费更换,结果上面写道:

华硕主板,于保修期内所有人为损坏一律免费尽力维修

而且,此主板还处于16天至1年间的保修期,因此,应该还可以再次更换。

Fedora 16编译安装Osd-Lyrics

昨天升级完Fedora 16后又闲着没事干,想起来以前看过一篇文章,可以安装一个插件让Linux实现歌词同步显示。于是尝试了许多Rtythmbox的插件,结果发现这些插件安装上去以后,都没有在Rtythmbox的插件列表中显示出来……

最后,发现了Osd-Lyrics。于是决定下载源码编译安装,结果发现编译失败。于是我去提交了一个Bug(Issue 244: Fedora 16 编译失败),结果10个小时就解决了!

现在编译安装的过程如下:

检查依赖项目

  • gcc gcc-c++
  • autoconf automake libtool intltool
  • gtk2-devel >= 2.12.0
  • dbus-glib-devel
  • libcurl-devel
  • libnotify-devel
  • sqlite-devel
  • libmpd-devel (this is unnecessary if you configure with –disable-mpd option)
  • xmms2-devel (this is unnecessary if you configure with –disable-xmms2 option)

开始编译

git clone git://github.com/tigersoldier/osd-lyrics.git
cd osd-lyrics
git checkout --track origin/develop
aclocal
autoheader
autoconf
automake --add-missing
./configure
make -j3
su -c "make install"

然后在Gnome3“应用程序”的“影音”中找到“Osd Lyrics”,打开,然后拿Rtythmbox放一首歌,歌词出来了!

Fedora 16之悲催的升级过程

按照惯例,经过多次跳票之后,Fedora 16终于如期在2011年11月8日发布了。周末,比尔盖子也趁着这个功夫,打算将自己的工作站升级到Fedora 16。

升级的日子正好是百年不遇的光棍节。也许正是这个日子,让比尔盖子遇到了一些闻所未闻的麻烦。开始升级的时候还算顺利,一句话Preupgrade就慢慢下载吧!一切就绪,重启,黑屏!原来是GRUB损坏。早就听说由于Fedora将用GRUB2代替GRUB,可能会有这个BUG,没想到就遇到了!
找Fedora的LiveCD。由于比尔盖子的整个系统都被撞到了逻辑卷管理器(LVM2)上,因此需要执行这些命令来修复GRUB:

mkdir -p /mnt/temp/boot
 vgchange -a y
 vgscan
 lvdisplay
 mount /dev/vg_biergaizi-LogVol00/ /mnt/temp
 mount /dev/sdd1 /mnt/temp/boot
 grub-install –root-directory=/mnt/temp /dev/sdd

你的逻辑卷名称和设备名称可能不一样,需要自己修改。

接着,搞定,重启。选择第一项(有乱码的那一个),然后是漫长的黑光标,然后是升级界面。漫长升级之后,重启,出现新的GRUB2。引导后,发现Gnome提示崩溃,让比尔盖子联系管理员。多次重装显卡驱动后也不行!

在Linuxquestion.org上找到一个绝招:

1.清理配置文件

rm -rf ~/.gnome
 rm -rf ~/.metacity
 rm -rf ~/.gnome2
 rm -rf ~/.gconf
 rm -rf ~/.gconfd

2.卸载Gnome-Shell

rpm -e gnome-shell –nodeps

3.卸载所有显卡驱动

这时,重启电脑,你会发现由于没有了Gnome-Shell,Gnome就会自动进入备用模式。这时,安装显卡驱动(或者init3之后在文本模式下安装),然后yum install gnome-shell,重启,就OK了。但是比尔盖子这么做以后,发现一登录账户就花屏。后来发现,Gnome-Shell根本没装上!再次尝试安装,却提示caribou这个依赖项目出了问题。用yum remove caribou,然后再yum install gnome-shell终于正常了!

但最后发现账户还是有问题,很多应用程序都打不开,换了个账户就正常了。只好备份home目录后删除账户再重建账户!

最后,比尔盖子终于能用Fedora 16发布这篇文章了。

100%恢复——Linux系统下使用 TestDisk & PhotoRec 数据恢复

今天,有一个朋友向我抱怨,她将相机SD卡中的文件复制到电脑时,突然发现SD卡中的照片全都不见了,只剩下区区几张照片。便问我能否进行数据恢复。经过询问,得知她在发现文件丢失后,没有继续修改SD卡中的文件。看来她这点常识还是有的。

比尔盖子链接:如果数据丢失后,继续修改文件,那么后来修改的文件就可能覆盖先前的文件,导致无法进行数据恢复。因此当发生数据丢失时,如果文件存在电脑中,应立即关机,停止一切操作;如果存在可移动设备中,应使用“安全删除硬件”,然后将它拔出电脑。

于是,她将SD卡交给了我。回到家,我打开电脑,准备进行数据恢复工程。由于比尔盖子以Fedora为主要的操作系统,因此开始寻找Linux下的数据恢复软件,发现果然有一款专门恢复照片的免费软件,便把它下载下来,正式开始恢复。

TestDisk & PhotoRecCGSecurity 出品的自由数据恢复工具,可以运行在 Unix(Solaris/BSD/Linux) 和 DOS/Windows  平台上,支持 FAT/ext2/ext3/ext4/exFAT/NTFS/HFS+ 文件系统。TestDisk 恢复分区损坏造成的数据丢失;PhotoRec 恢复文件系统级别损坏造成的数据丢失(注意,PhotoRec 不仅仅可以恢复照片)。实在是不可多得的好工具。

正式恢复

保护数据

最好将SD卡写保护。

为了避免SD卡中的数据在恢复过程中丢失,因此最好将SD卡写保护。如何做到呢?太简单了,将SD卡上的小开关按照LOCK的箭头方向移动就行了。

了解情况

 

 

之后,比尔盖子将这张SD卡放入读卡器,得知这张SD卡是FAT32文件系统,并且如图所示,大多数照片全部丢失,只剩下几张。

开始恢复

首先,将下载的testdisk-6.12解压到主文件夹。然后,打开一个终端窗口,输入命令

su

然后提供root的密码(数据恢复需要root权限)

接着,使用cd切换到testdisk-6.12文件夹。这个文件夹中有两个程序,一个是photorec_static;另一个是scandisk_static。由于我们这次恢复的数据是照片,因此输入:

./photorec_static

来运行数据恢复程序。

接下来的操作中,使用回车来确定,使用q来返回上一步。
首先需要选择丢失数据的分区,如图1.1,选择完后确认。然后需要选择这个设备的分区表类型,如果这是一块移动硬盘,一般选择Intel。如果这是一个移动设备,只有一个分区,选择None,如图1.2。

图1.1 选择要恢复数据的设备

图1.2 选择分区表类型

 

如图1.3,在选择完分区表类型后确认,然后选择数据所在的分区。如果这是一块移动硬盘,那么选择你需要恢复数据的分区;如果这是一个移动设备,那么不要选择Unknown,选择第二个分区。

选择完分区后,程序会询问你分区的文件系统。如图1.4。如果你的文件系统是Linux下常用的ext系列,比如ext2、ext3、ext4,那么选择第一项;如果不是ext系列的文件系统,一律选择第二项,选择完后确定。

图1.3 选择分区类型

图1.4 选择文件系统类型

之后,将选择文件的扫描方式,正如图1.5。第一项“FREE”只会扫描文件的剩余空间,速度比较快,但是不一定能扫描到所有丢失的数据;第二项WHOLE会扫描整个文件系统,速度比较慢,如果是一块移动硬盘,将会花费很长时间。因此,比尔盖子建议:先试一试FREE,如果丢失的文件没有恢复成功,再使用WHOLE。由于比尔盖子之前使用FREE没有成功恢复任何数据,因此在这里选择了WHOLE。

接下来,选择恢复出来的文件,保存的位置,正如图1.6所示。使用回车来进入一个文件夹,上下左右来移动,按键盘上的C来确定,有一个名字是”.”(不包括引号)的文件夹,可以返回上一层。
比尔盖子建好了一个recvering的文件夹,于是使用回车来进入这个文件夹,然后按C确定。

图1.5 选择丢失数据的扫描方式

图1.6 选择恢复之后文件的保存路径

激动人心的时刻终于到了!数据恢复开始了,程序会自动估算需要的大致时间,还能显示出恢复了多少文件,如图1.8。
另外,数据恢复过程完毕之后,程序也会有相关提示,比尔盖子没有截图,到那时候反复使用Q来退出,然后去你选择的文件夹里看看,你删除的文件是不是都在哪里?

我成功从朋友的SD卡中恢复了390多张无缘无故消失了的照片,数据恢复取得全面成功,如图1.9!

 

图1.8 数据恢复正在进行

图1.9 恢复出来的照片

收尾

如果一切都成功了,那么,别忘了将SD卡上的开关解除,这样日后在能往里面存文件。
如果你没有恢复成功,而且你丢失的是重要文件,那么只能去找数据恢复公司了!

 

版权所有 © 2025 比尔盖子 博客

主题设计 Anders Noren返回顶部 ↑