Linux和Windows双系统的两个小问题

我的电脑上是Windows Server 2008 R2和Ubuntu 10.04的双系统,今天搜索和解决了两个小问题:

1.双系统时间的不一致性:
Windows和Linux都以CMOS的时间为依据,但是计算标准不一样,所以时间会不一致。
Linux和Mac系统以当前主板CMOS为格林威治标准时间,然后根据系统设置的时区确定系统时间,如:
北京时间时区设置为GMT+8.0,当前CMOS时间为03:00,则系统会将这两个时间相加作为当前的系统时间。
而Windows直接把CMOS作为当前显示时间,不根据时区转换。所以,就北京时间来说,双系统的时间总是相差8个小时。
简单地说,就是Windows直接把硬件时间作为系统时间,而Linux和Mac则将硬件时间和时区相加作为系统时间。
解决办法:
(1)让Ubuntu使用本地(硬件)时间,不使用UTC:
$sudo gvim /etc/default/rcS
把里面的UTC=yes改为UTC=no
(2)让Windows认定CMOS为格林威治标准时间:
打开注册表: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/TimeZoneInformation/
在其中,新建一个REG_DWORD的键,名为RealTimeIsUniversial,值为1.
上述两种方法,我都试过,先试地第二种,不管用,然后在Ubuntu下试第一种,可行。
2.双系统,如何修改默认系统:
如果双系统都是Windows的,则可以直接在Windows下,选择:“开始——控制面板——性能和维护——系统“
在“启动和故障恢复“里选“设置“,可以选择默认操作系统。
但现在是Windows和Linux双系统,修改方法如下:
这里有两个重要的文件:/boot/grub/grub.cfg和/etc/default/grub
实际上,grub.cfg是根据grub的设置而导入的,所以要修改的是grub文件,但是我们需要从grub.cfg里获取当前操作系统的编号。
先打开grub:$sudo gvim /etc/default/grub
其中:GRUB_DEFAULT=0和GRUB_TIMEOUT=10分别表示默认启动的系统编号是0,延迟时间为10秒。
打开grub.cfg: $sudo gvim /boot/grub/grub.cfg
找menuentry的条目,比如我的系统上是:
menuentry 'Ubuntu, with Linux 2.6.32-21-generic'
menuentry 'Ubuntu, with Linux 2.6.32-21generic (recovery mode)'
menuentry "Memory test (memtest86+)“
menuentry "Memory test (memtest86+, serial console 115200)"
menuentry "Windows Server 2008 R2 (loader) (on /dev/sda2)"
当然,文件中不是这么列出来的,它们都在一对BEGIN和END之间。
系统编号从0开始,所以最后一个Windows Server 2008 R2的编号应该是4.
将你想默认启动的系统编号赋给GRUB_DEFAULT,延迟时间赋给GRUB_TIMEOUT即可。
最后别忘了更新grub:$sudo update-grub
参考资料:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值