无忧启动论坛
标题:
突发奇想,给(rd)用法的改进意见
[打印本页]
作者:
2011qf020124
时间:
2011-9-10 20:16
标题:
突发奇想,给(rd)用法的改进意见
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(rd)+1 是经过特殊处理的。它永远代表 (rd) 设备的全部内容。因此,你可能无法只获取它的第一个扇区。但是你可以获取它的两个扇区:(rd)+2 这个是可以的。
》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》————摘自教程
(rd)比(md)灵活,但感觉(rd)不能获取第一个扇区是个遗憾,能不能把(rd)0+1 改成获取(rd)盘的第一个扇区,而(rd)+1 仍然代表 (rd) 设备的全部内容?
只是给开发团队的建议,我也是突然想到的,发出来讨论下!!
[
本帖最后由 2011qf020124 于 2011-9-11 12:54 编辑
]
作者:
不点
时间:
2011-9-11 08:09
这是历史原因造成的。
当初没能料到 grub4dos 能够有这么好的发展势头,所以尽量保持与 grub 的 100% 兼容性。在 grub 中,“设备” 和 “文件” 是严格区分的,设备不能当作文件来用。所以,我们也要严格区分。
假如设备可以当作文件来用,那么,就不需要 (rd)+1 这种表达法了,直接用 (rd) 就好了。
这个问题等以后再解决。如果 chenall 愿意的话,现在也可以考虑解决,但最好先发布一个正式版,然后在下一个阶段进行解决。
作者:
zhaohj
时间:
2011-9-11 10:26
cat --hex --length=0x200 (rd)+1
------------
dd if=(rd)+1 of=(md)0x200+1 count=1
cat --hex (md)0x200+1
我认为目前可以保持现状。
作者:
2011qf020124
时间:
2011-9-11 16:08
我的想法是,把(rd)0+1和(rd)+1的含义分开,(rd)+1仍然代表整个(rd)盘,作为一种特殊用法;而(rd)0+1代表(rd)盘第一扇区,继续保持和磁盘设备的一致用法,感觉这样更统一,更优美,更和谐!呵呵!
只是我的建议,大家看看就行!!
作者:
chenall
时间:
2011-9-11 16:48
我觉得保留现状没有什么不好的,
这样会增加处理的难度,因为0+1和+1其实表达的结果是一样的.非要这样处理的话,只会增加程序的复杂性.
作者:
Climbing
时间:
2011-9-12 21:41
赞成保持现状,诚如chenall所言。
作者:
wannaknow
时间:
2011-9-13 09:34
标题:
回复 #2 不点 的帖子
现在是不是可以用(rd)+1,512来获取(rd)盘的第一个扇区?另外,现在设备可以当作文件来用吧?
作者:
不点
时间:
2011-9-13 10:18
标题:
回复 #7 wannaknow 的帖子
不行的。两个问题的回答都是否定的。但是,有些场合已经开始把设备当作文件来用了,比如,dd 命令中可以用设备,此时的设备,表示设备上的全部扇区,实际上起着文件的作用。
(rd)+1,512 与 (rd)+1 好像是等价的。
不知用 (rd)+2,512 是否可以,你自己试试吧。用 cat 试试就知道了。
作者:
pseudo
时间:
2011-9-13 10:40
(rd)+2,512 不行, 不合理。
(rd)+2,511或 (rd)+2,513可以。
作者:
zxw
时间:
2011-9-13 11:01
标题:
回复 #9 pseudo 的帖子
不测不知道,一测还真是这么回事。貌似(rd)+2,512被认为相当于(rd)+1了。
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./)
Powered by Discuz! X3.3