ubutu 10.10, GRUB无法引导。error:fixup signature not match.--强烈鄙视WUBI

本文记录了一次使用WUBI安装的Ubuntu 10.10遇到启动问题的解决过程。通过GRUB命令行进行诊断,并采用创建隐藏目录及移动文件的方法最终解决了启动问题。

最近 ubutu 10.10, 无法启动,进入GRUB命令状态。

我在forum.ubuntu.org.cn上求救了,帖子链接如下:

http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=357130&p=2581937#p2581937


XP系统,WUBI安装,UBUNTU目录在E盘。

grub> ls
(memdisk) (hd0) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1) //memdisk是怎么回事?

grub>ls (hd0,6)
.... type ntfs UUID xxxxxxxx //获取E盘的UUID

grub>insmod ntfs //ok
grub>set root=(hd0,6) //ok
grub>search --no-floppy --fs-uuid --set=root xxxxxxxxx //ok
grub>loopback loop0 /ubuntu/disks/root.disk //不行了
error:fixup signature not match.

grub>ls (hd0,6)/ubuntu/disks/
boot/ root.disk swap.disk //有root.disk的

grub>ls -l (hd0,6)/ubuntu/disks/
DIR boot/
239392339 swap.disk //竟然没有root.disk!


grub>loopback loop0 /ubuntu/disks/swap.disk

//可以的。


最后看了http://www.fzblog.net/detail/id/426这篇文章后问题解决,感谢风之紫色!


解决方法竟然是这样的:


“我操他妈,这样搞定了:
1、建立隐藏目录e:\ubuntu\found.000
2、 把/ubuntu/disks/目录下面的所有文件移动到found.000目录下面
3、重入GRUB,EXIT
4、 重启XP
5、 再把found.000下面的文件移动到/ubuntu/disks目录下面
6、重启进入UBUNTU。

wubi真的坑爹啊。


<think>我们正在解决DruidDataSource初始化数据源时出现ORA-01005错误(null password given; logon denied)的问题。根据引用[1],问题可能是配置属性名称不正确导致的。引用[1]提到:将`connection-properties`属性替换成`connect-properties`即可解决。另外,其他引用(如引用[2]、[3]、[4])都提到了用户名或密码无效的问题,但我们的错误是密码为空(null password),所以我们应该重点检查密码是否被正确传递。 结合引用[1]的建议,我们需要检查DruidDataSource的配置,特别是密码是否被正确设置,以及配置属性的名称是否正确。 可能的原因和解决方法: 1. 配置属性名称错误:在引用[1]中提到,将`connection-properties`替换为`connect-properties`。虽然这个属性名可能不是直接导致密码为空的,但可能是由于属性名错误而导致配置未生效(包括密码未设置)。因此,检查配置中是否正确设置了用户名和密码。 2. 密码未正确配置:检查配置文件中(如application.yml或application.properties)的密码(password)是否被正确设置,且没有设置为null或空字符串。 3. 配置格式问题:检查配置文件的格式,例如在YAML中,缩进是否正确,属性名是否拼写正确。 4. 特殊字符问题:如果密码中包含特殊字符,可能需要特殊处理(例如用引号括起来)。 步骤: 1. 检查配置文件中数据源的用户名和密码是否正确配置。例如,在YAML中: ```yaml spring: datasource: druid: username: your_username password: your_password # 其他配置 ``` 或者properties文件: ```properties spring.datasource.druid.username=your_username spring.datasource.druid.password=your_password ``` 2. 根据引用[1],如果使用了`connection-properties`,尝试将其改为`connect-properties`。 3. 如果使用的是Druid的独立配置(非Spring Boot自动配置),需要检查DruidDataSource的Bean定义,确保密码被正确设置。 4. 如果以上都正确,考虑是否因为配置被覆盖或加密等原因导致密码为空。 示例配置(正确配置): 引用[2]和[4]给出了正确的配置格式,注意在url中,Oracle的连接字符串需要正确格式(例如:`jdbc:oracle:thin:@host:port:sid`)。 因此,解决方法总结: - 确保配置文件中密码(password)属性不为空且正确。 - 检查配置属性名是否正确,特别是注意引用[1]中提到的属性名问题(将`connection-properties`改为`connect-properties`)。 - 检查整个配置文件的格式(如YAML的缩进)和语法。 如果问题仍然存在,可以尝试在代码中显式设置密码,例如在创建DruidDataSource实例时调用`setPassword`方法。 注意:引用[4]还提到了url中少了`@`符号,但我们的错误是密码为空,所以首先关注密码配置。 下面是一个正确的配置示例(基于引用[2]和[4]): ```yaml spring: datasource: druid: driver-class-name: oracle.jdbc.driver.OracleDriver url: jdbc:oracle:thin:@192.168.1.1:1521:test username: xz password: xz123456 # 其他配置 ``` 如果错误提示是null password,那么重点检查password是否被设置。 </think>针对DruidDataSource初始化时出现ORA-01005: null password given; logon denied错误,以下是系统性的解决方法: ### 问题原因分析 1. **密码未传递**:数据库配置中密码字段为空或未正确传递,导致Druid尝试用空密码连接Oracle[^1] 2. **属性名错误**:Druid配置使用了不支持的属性名(如`connection-properties`)[^1] 3. **格式问题**:配置文件中密码字段存在格式错误(如特殊字符未转义) 4. **配置覆盖**:多数据源配置冲突导致密码被覆盖 ### 解决方法 #### 1. 修正属性名称(关键步骤) ```yaml spring: datasource: druid: # 错误属性(需修正)↓ # connection-properties: xxx # 正确属性 ↓ connect-properties: oracle.net.authentication_services: "(none)" url: jdbc:oracle:thin:@//host:port/service username: your_username password: your_password # 确保非空 ``` 将`connection-properties`改为`connect-properties`可解决空密码问题[^1] #### 2. 检查基础配置 ```yaml driver-class-name: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@192.168.1.1:1521:ORCL # 注意@符号位置[^4] username: TEST_DB # 区分大小写 password: "P@ssw0rd_123" # 含特殊字符需加引号 ``` #### 3. 密码加密处理(可选) 若使用加密密码,需配置解密器: ```java @Bean public DruidDataSource dataSource() { DruidDataSource ds = new DruidDataSource(); ds.setPasswordCallback(new DruidPasswordCallback(){ @Override public void setPassword(char[] password) { super.setPassword(decrypt(password).toCharArray()); } }); return ds; } ``` #### 4. 验证配置加载 添加配置检查代码: ```java @PostConstruct public void checkConfig() { System.out.println("Loaded password: " + dataSource.getConnectProperties().get("password")); } ``` ### 注意事项 1. Oracle 19c+需显式设置`oracle.net.authentication_services`属性 2. 使用`jdbc:oracle:thin:@//`格式替代旧式`@:`连接串[^4] 3. 多数据源场景需指定`@Primary`数据源 4. 密码含`@`、`#`等字符需用`\`转义,如`p@ss` → `p\@ss` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值