交换硬盘分区的设备文件命名

这个可以通过 udev 来解决问题,默认 udev 是根据分区表中的序列来分配的,那也就可以通过修改分区表中的序列来实现了。这里就记录一下修改的过程。
1. 使用如下命令打印出分区表信息。
$ sudo fdisk -l /dev/hda

Disk /dev/hda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          14      112423+  83  Linux
/dev/hda2              15        2447    19543072+  83  Linux
/dev/hda3            2448       19180   134407822+  83  Linux
/dev/hda4           19181       19457     2225002+  82  Linux swap / Solaris

2. 删除将要交换的两个分区,例如 /dev/hda1 和 /dev/hda2。
$sudo fdisk /dev/hda
d
1
d
2
3. 创建新的分区,达到交换目的。
n
p
1
15
2447
n
p
2
1
14
w

这样就完成的交换操作。

Over!

在 Linux 系统中清除 Windows 用户密码

不论你由于什么原因丢失了正确的 Windows NT/2000/XP/Vista 的用户密码,导致不能正常登录用户。你都可以使用下面的方法清除了硬盘中 Windows 系统的用户密码。

此方法是使用一位德国高手的程序 chntpw,这个程序是完全开放源代码的,如果你有兴趣去研究 Windows SAM 文件的格式,这个程序是一个很好的参考。

1. 制作 Linux Live CD
如果你已经有一张可以直接引导且包含NTFS-3G模块的 Live CD,那么就可以略过一个步骤。否则建议你下载一个 Ubuntu Live CD并刻录成盘。

2. 下载 chntpw
下载 chntpw 最新版本的源代码(其中包含已经静态编译好的 i386 版本的二进制程序)到 U盘中。
下载地址:chntpw-source-080526.zip

3. 清除密码
使用 Live CD 启动计算机,插入保存了 chntpw 程序的U盘。挂载安装了 Windows 系统和U盘的分区。解压缩 chntpw 源代码包。运行 chntpw 程序清除密码。(chntpw 的详细使用方法在源代码中的 README.txt 文件中有详细的解释)

Over!