多操作系统方案成功探索:用NTLDR(不用bootmgr)引导启动windows7(linux,grub,window xp)

windows7使用新的操作系统引导程序bootmgr,而不是之前的ntldr;电脑启动时会先出来bootmgr的画面,选择windows7或早期OS,然后是早期操作系统的列表;windows7并不经常使用,每次启动都要多加上这个等待时间,过程太罗嗦,准备简化一下。

探索过程
windows 7正式版算是出来了,虽然还是不很尽人意,但还是值得试试用一下,就安装试用一下,感觉和之前的bate版RC版差不多没有太多改变,基本算是vista的变种;而且电脑启动还要加上一个可恶的bootmgr的等待时间,画面视觉效果还不如ntldr(xp启动时的多操作系统选单)。第二天就卸载了,不过并没有格式化win7的安装分区,文件还是在的。
今天上午看到这个分区,想能不能使用NTLDR把windows7引导启动呢,之前Bate版时尝试过,简单的使用boot.ini是不行的。前几天偶然见过一个系统工具盘里有用GRUB引导vista/windows7的一个选项,但没有使用,也没研究。既然别人能这么搞,用GRUB应该是可以的,就到网上查相关资料,但非常不幸,一时间还没找到。
回头看看Grub引导windows的配置代码
root (hd0,0)
makeactive
chainloader +1
(对grub 并不很懂,只能算是蒙一下)也就是说,如果grub要把系统的控制权交给(hd0,0)处,如果这里有windows的启动文件,就可以启动。联想linux可以把引导文件安装在非主引导分区下,那么如果也把windows7的引导文件安装在其它分区下,而不是系统主引导分区下(这样就不影响C盘的ntldr),就可以实现了。
windows7 卸载是执行 [DriveLetter]:\boot\bootsect.exe /nt52 ALL /force
好像bootsect还可以恢复windows7的引导文件,查一下,找到M$官方的文档
http://technet.microsoft.com/zh-cn/library/cc749177%28WS.10%29.aspx

Bootsect 命令
Bootsect 使用下列约定:
bootsect.exe {/help | /nt52 | /nt60} {SYS | ALL | <DriveLetter:>}[/force]
例如,若要将与 NTLDR 兼容的主启动代码应用到标记为 E 的卷,请使用以下命令:
bootsect.exe /nt52 E:

笔者硬盘上装了好几个OS,主要用win 2003 中文版,另有一个英文版XP、fedora linux ,再加上一个win7。win7在(hd0,8) 在XP下分配盘符为J(03下没有分配盘符,比较变态一点),就进入XP下,运行bootsect.exe /nt60 j:
报了一个错误,但后面还是提示了个successful,不管它,看看好了没有。进入grub 命令行运行:
root (hd0,8)
makeactive
chainloader +1
boot
出错了,提示说:\Boot\BCD找不到,重启,把C盘下的\boot目录拷过去(windows7的文件没有删,就不用到光盘ISO中拷了)。
再重启,进入GRUB,运行启动命令,正常进入window7,成功。
但是再进windows xp 时,出错了,\system32\ntoskrnl.exe 丢失,从win03进去看看,文件是在的,重启xp试了试,还是不行;只好到xp ISO里提取一下覆盖一下,xp也正常启动了。估计是安装bootmgr时搞出了乱子。
[注]根据回忆写的,可能有一定的疏漏,还敬请斧正。

MS SQL SERVER 孤立用户问题

Windows环境下,经常遇到系统Over的情况,如果你在新装了系统和SQL Server 2005后,需要把SQL Server2000数据库还原,就会出现孤立用户的问题,下文中我们将介绍具体的解决方法:

解决步骤如下:

1.首先,需要还原数据库。 feedom.net

2.在 安全性/登陆名/新建登陆名,把产生的孤立用户新建一个,密码什么都设置好。

3.最后在查询分析器中执行

exec sp_change_users_login 'update_one','没有登陆名的数据库用户','新的登陆名'

-----------

检测当前数据库的孤立用户

sp_change_users_login @Action='Report';

MS SQL server 自定义函数:获取汉字拼音首字母(音序)

转来的,很好用,要谢谢作者的

Create function [dbo].[fun_getPY]
(
    @str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)

set @PY=''

while len(@str)>0
begin
    set @word=left(@str,1)

    --如果非汉字字符,返回原字符
    set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
               then (
                    select top 1 PY
                    from
                    (
                     select 'A' as PY,N'驁' as word
                     union all select 'B',N'簿'
                     union all select 'C',N'錯'
                     union all select 'D',N'鵽'
                     union all select 'E',N'樲'
                     union all select 'F',N'鰒'
                     union all select 'G',N'腂'
                     union all select 'H',N'夻'
                     union all select 'J',N'攈'
                     union all select 'K',N'穒'
                     union all select 'L',N'鱳'
                     union all select 'M',N'旀'
                     union all select 'N',N'桛'
                     union all select 'O',N'漚'
                     union all select 'P',N'曝'
                     union all select 'Q',N'囕'
                     union all select 'R',N'鶸'
                     union all select 'S',N'蜶'
                     union all select 'T',N'籜'
                     union all select 'W',N'鶩'
                     union all select 'X',N'鑂'
                     union all select 'Y',N'韻'
                     union all select 'Z',N'咗'
                      ) T
                   where word>=@word collate Chinese_PRC_CS_AS_KS_WS
                   order by PY ASC
                          )
                      else @word
                 end)
    set @str=right(@str,len(@str)-1)
end

return @PY

end

windows 2003 安装新版本的MSN9 完美解决方案

windows 2003 安装新版本的MSN9 完美解决方案

对于使用windows2003做为工作平台的劳苦大众,我们也要使用msn,但可恶的M$却不让我们正常的在2003下使用msn,之前msn9刚刚出来时,我们可以在XP下安装,然后使用释放出来的msi文件在瘟2003下安装msn,但前些天msn又出更狠的招儿:释放出来的文件安装了也不能使用,还是提示版本过低,不能使用。

偶然的机会发现了一个完美的解决方案,在2003下安装msn9,不敢独自保留,分享给大家。

方法非常简单:

用ResHacker 打开MSN9的安装文件,修改 CONFIG / CONFIG0 / 0 / <os productType="workstation" />改为<os productType="server" />

注:可以修改100多兆的那个安装文件,也可以修改1M多的在线安装文件,都可以正常通过安装的。

一切搞定,直接安装吧,2003下的msn世界一下就和~谐~了!